資料結構棧和佇列演算法總結以及測試

2021-10-09 04:52:05 字數 2118 閱讀 4247

//資料結構棧和佇列演算法總結以及測試

#define maxsize 100

//初始化順序棧:initstack(sqstack &st)

//順序棧判斷棧空:isempty(sqstack st)

//順序棧進棧:push(sqstack &st,int x)

//順序棧出棧:pop(sqstack &st,int &x)

//鏈棧初始化:initstack(lnode *&lst)

//鏈棧棧空:isempty(lnode *lst)

//鏈棧進棧:push(lnode *lst,int x)

//鏈棧出棧:pop(lnode *lst,int &x)

//不帶頭結點的鏈棧操作:

//initstackl(lnode *&lst)

//isemptyl(lnode *lst)

//pushl(lnode *&lst,int x)

//popl(lnode *&lst,int x)

//順序隊初始化:initqueue(sqqueue &qu)

//順序隊隊空:isqueueempty(sqqueue qu)

//順序隊進隊:enqueue(sqqueue &qu,int x)

//順序隊出隊:dequeue(sqqueue &qu,int &x)

//鏈隊初始化:initqueue(liqueue *&lqu)

//鏈隊隊空:isqueueempty(liqueue *lqu)

//鏈隊入隊:enqueue(liqueue *lqu,int x)

//鏈隊出隊:dequeue(liqueue *lqu,int &x)

typedef struct

sqstack;

typedef struct lnode

lnode;

typedef struct

sqqueue;

typedef struct qnode

qnode;

typedef struct

liqueue;

void initstack(sqstack &st)

int isempty(sqstack st)

int push(sqstack &st,int x)

int pop(sqstack &st,int &x)

void initstack(lnode *&lst)

int isempty(lnode *lst)

void push(lnode *lst,int x)

int pop(lnode *lst,int &x)

void initstackl(lnode *&lst)

int isemptyl(lnode *lst)

void pushl(lnode *&lst,int x)

int popl(lnode *&lst,int x)

void initqueue(sqqueue &qu)

int isqueueempty(sqqueue qu)

int enqueue(sqqueue &qu,int x)

int dequeue(sqqueue &qu,int &x)

void initqueue(liqueue *&lqu)

int isqueueempty(liqueue *lqu)

void enqueue(liqueue *lqu,int x)

else }

int dequeue(liqueue *lqu,int &x)

以下是測試**:

#include#includeusing std::cout;

using std::cin;

using std::endl;

int main()

cout << "the result of going out of the stack in turn!" << endl;

for(int i(0);i<10;i++)

cout << endl <<"this is the end of the program!" << endl;

}

宣告:以上內容僅用來交流學習

python資料結構 棧和佇列以及演算法 排序

棧 stack 有些地方稱為堆疊,是一種容器,可存入資料元素 訪問元素 刪除元素,它的特點在於只能允許在容器的一端 稱為棧頂端指標,英語 top 進行加入資料 英語 push 和輸出資料 英語 pop 的運算。採用lifo 後進先出 的原理運作 再棧中新增元素被稱之為壓棧 push 刪除元素被稱之為...

資料結構 棧和佇列總結

1.棧空條件 s.top 1 棧滿 s.top maxsize 1 棧長 s.top 1 以上當然是順序棧的情況。或許之前儲存的元素仍然在棧中,但top指標已經指向了新的棧頂,也就起到了刪除的作用。進棧操作 指標先加1,再入棧。s.data s.top x 出棧操作 先出棧,指標再減1。x s.da...

資料結構棧 佇列演算法

cpp view plain copy include include include include include 兩個棧實現佇列 using namespace std template class queue int size bool empty void push t value t f...