資料結構的順序棧 鏈式棧 鏈佇列 迴圈佇列的實現

2021-07-15 05:06:44 字數 1538 閱讀 2562

#include

#include

#include

#include

#define maxqsize 5

# define overflow 0

#define ok 1

# define stack_init_size 100

#define stackincrement 10

typedef int selemtype;

typedef int status;

using namespace std;

typedef struct sqstack;

//構造空棧

status initstack(sqstack &s)

//棧的初始化

int input(sqstack &s,int n)

//棧的遍歷

status otput(sqstack s,int n)

//入棧操作

status push(sqstack &s,selemtype e)

*s.top++=e;

return ok;

}//出棧

status pop(sqstack &s,selemtype &e)

//鏈式棧

typedef int lelemtype;

typedef struct lnodelnode,*linkstack;

//建立鍊錶

status createstack(linkstack &s,int n)

return ok;

}//列印建立的鏈棧

status disp(linkstack s)

cout}//鏈入棧

status linkstackpush(linkstack &s,lelemtype e)

//鏈出棧

status linkstackpop(linkstack &s,lelemtype &e)

return ok;

}//鏈佇列

typedef int qelemtype;

typedef struct qnodeqnode,*queueptr;

typedef structlinkqueue;

//建立鏈佇列

status initqueue(linkqueue &q,int n)

return ok;

}//列印鏈隊

status out(linkqueue q)while(p!=q.rear);

return ok;

}//插入鏈隊

status queuepush(linkqueue &q,qelemtype e)

status queuepop(linkqueue &q,qelemtype &e)

//迴圈佇列

typedef int qelemtype;

typedef structsqqueue;

//構建空迴圈佇列

status initqueue(sqqueue &q,int n)

資料結構 順序棧和鏈式棧

棧 限定在表尾進行插入和刪除操作的線性表。允許插入和刪除的一端成為棧頂,另一端稱為棧底。棧的操作特性 後進先出 順序棧 設定top指標指示棧頂元素在陣列中的位置。進棧 top 1 棧空 top 1 出棧 top 1 棧滿 top maxsize const int max size 100 temp...

資料結構 鏈棧(棧的鏈式儲存結構)

工程目錄結構 函式的返回結果,ok erreo true false 12 typedef int elemtype 結點資料域的資料型別 1314 endif common.c 1 include common.h 2 3status visit elemtype e 4linkstack.h 1...

資料結構 棧 順序棧和鏈棧

順序棧 基於陣列的順序棧 include include include typedef enum status status typedef int elemtype typedef struct sqstack sqstack 函式宣告 基於陣列的順序棧 status initstack sqs...