資料結構實驗棧和佇列

2022-08-21 07:42:07 字數 1501 閱讀 1953

實驗二第三章棧和佇列

一、棧【實驗原始碼】

#include<>

#include<>

#include<>

#define stack_init_size 100

#define stackincrement 10

typedef int selemtype;

typedef int status;

typedef structsqstack;

status initstack(sqstack &s)

return 1;

}//initstack

/*status gettop(sqstack s, selemtype &e)//gettop*/

status push(sqstack &s,selemtype e)

*return 1;

}//push

status pop(sqstack &s,selemtype e)//pop

void dispay(sqstack s)

void main()

}else printf("輸入錯誤!請重新輸入!謝謝!\n");}}

【程式執行截圖】

二、動態佇列

【實驗原始碼】

#include<>

#include<>

#include<>

typedef int qelemtype;

typedef int status;

typedef struct qnodeqnode,*queueptr;

typedef structlinkqueue;

status initqueue(linkqueue &q)

status enqueue(linkqueue &q,qelemtype e)

status dequeue(linkqueue &q,qelemtype &e)

void display(linkqueue q)

printf("\n");

}void main()

}else printf("輸入錯誤!請重新輸入!謝謝!\n");}}

【程式執行截圖】

三、迴圈佇列

【實驗原始碼】

#include<>

#include<>

#include<>

#define maxqsize 4佇列最多可插入3個元素,乙個為空

typedef int qelemtype;

typedef int status;

typedef structsqqueue;

status initqueue(sqqueue &q)

status enqueue(sqqueue &q,qelemtype e)

else

}status dequeue(sqqueue &q,qelemtype &e){

//若佇列不空,則刪除q的隊頭元素,用e返回其值,並返回1;否則返回0

if( 0;e=

資料結構 棧與佇列

3311 請判斷下列表示式是否正確。輸入乙個表示式,表示式中包括 字母,數字,括號以及符號 判斷表達中各括號的位置是否遵循以下規則 1 各種括號左右數量相同。2 各種括號只能並列和巢狀,不能交差。輸入 只有一行,為乙個長度小於255的表示式。輸出 一行。如果表示式中各括號互相匹配,則輸出 yes 否...

資料結構棧和佇列基本操作

實驗二棧和佇列 棧的順尋儲存操作 include stdio.h include stdlib.h define stack init size 100 define stackincrement 10 typedef struct sqstack void initstack sqstack s ...

《資料結構》習題3棧和佇列

1.乙個棧的入棧序列a,b,c,d,e,則棧的不可能的輸出序列是 c a.edcba b.decba c.dceab d.abcde 2.若已知乙個棧的入棧序列是1,2,3,n,其輸出序列為p1,p2,p3,pn,若p1 n,則pi為 c a.i b.n i c.n i 1 d.不確定 3.棧結構通...