鏈式棧 鏈式佇列 順序佇列

2021-08-21 12:56:14 字數 1097 閱讀 8439

暑期學習第一天,學習了鏈式棧、鏈式佇列和順序佇列

這三種都是舉一反三的型別

鏈式棧標頭檔案

#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...