暑期學習第一天,學習了鏈式棧、鏈式佇列和順序佇列
這三種都是舉一反三的型別
鏈式棧標頭檔案
#ifndef _stack_h_
#define _stack_h_
#define ok 0
#define error 1
// 結點
typedef struct _stacknode
stacknode;
// 棧
typedef struct _stack
stack;
// 建立乙個棧 返回指向棧的指標
// 返回值: 0 代表成功 1 代表失敗
stack *createstack();
// 入棧
int push(stack *, int );
// 出棧:彈出乙個資料
// 返回值: 0 代表成功 1 代表失敗
int pop(stack *);
// 判斷棧是否為空
// 返回值: 空 返回1 不空返回 0
int stackempty(stack *);
// 獲取棧頂元素
// 返回值: 0 代表成功 1 代表失敗
int gettop(stack *, int *);
// 銷毀棧
int destroy(stack *);
#endif // _stack_h_
main函式
#include "stack.h"
#include
int main()
stack原始檔
#include "stack.h"
#include
#include
stack *createstack()
int push(stack *s, int data)
int stackempty(stack *s)
int pop(stack *s)
int gettop(stack *s, int *pd)
int destroy(stack *s)
free(s);
return 0;
}
棧和佇列 4鏈式佇列
adrian 鏈式佇列的實現思想同順序佇列類似,只需建立兩個指標 命名為 top 和 rear 分別指向鍊錶中佇列的隊頭元素和隊尾元素,如圖 1 所示 圖 1 所示為鏈式佇列的初始狀態,此時佇列中沒有儲存任何資料元素,因此 top 和 rear 指標都同時指向頭節點。鏈式佇列資料入隊 鏈隊佇列中,當...
佇列 鏈式佇列
主要是鏈式佇列用單鏈表來實現,說白了還是對單鏈表的應用。為了操作實現方便,這裡採用帶頭結點的單鏈表結構。鍊錶的頭部作為隊首,鍊錶的尾部作為隊尾。一共設定兩個指標,乙個隊首指標和乙個隊尾指標,如圖所示。package 佇列的實現 public inte ce queue package 佇列的實現 p...
迴圈順序佇列與鏈式佇列實現
佇列是一種先進先出的資料結構,分順序儲存結構和鏈式儲存結構兩種。順序儲存結構中廣泛使用的是迴圈佇列,也是佇列使用中最多的一種。下面將分別實現這兩種佇列的基本操作。includeusing namespace std const int maxsize 100 class queue int isem...