實驗二 棧與佇列
實驗目的:
(1)理解棧與佇列的結構特徵和運算特徵,以便在實際問題背景下靈活運用。
(2)了解複雜問題的遞迴演算法設計。
下列內容任選其一
實驗內容:
1)利用輔助佇列進行棧的逆置
[問題描述]
利用輔助佇列將棧中的元素逆置。
[基本要求及提示]
(1)在主函式中編寫選單(基本的1.入棧;2.出棧;3.逆置;4.退出)除錯執行程式。
2)利用輔助棧進行佇列的逆置
[問題描述]
利用輔助棧進行佇列元素逆置。
[基本要求及提示]
(1)在主函式中編寫選單(如基本的1.入隊;2.出隊;3.逆置;4.退出)除錯執行程式。
#include
#include
#define maxsize 100
#define maxqsize 100
typedef
struct
sqstack;
typedef
struct
//佇列的順序儲存結構
sqqueue;
intinitqueue
(sqqueue *q)
//初始化佇列
intcreatlist
(sqstack *s)
//初始化棧
intpush
(sqstack *s,
int e)
//入棧
intpop
(sqstack *s)
//出棧
intgettop
(sqstack *s)
intenqueue
(sqqueue *q,
int e)
//入隊函式
intdequeue
(sqqueue *q)
//出隊函式
void
shuchu
(sqqueue *q)}}
intmain()
break
;case2:
while
(s->base!=s->top)
break
;case3:
while
(q.front!=q.rear)
printf
("逆置後的元素為\n");
while
(s->base!=s->top)
break
;case
4:flag=0;
break;}
}}
資料結構 棧與佇列(C語言)
2.迴圈佇列的實現 總結本文就介紹了資料結構中兩大基礎儲存結構,棧與佇列的基礎內容。棧 stack 又名堆疊,它是一種運算受限的線性表。限定僅在表尾進行插入和刪除操作的線性表。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成...
資料結構(二) 棧棧與佇列
棧 stack 是限制插入和刪除只能在乙個位置上進行的表,該位置是表的末端,叫做棧頂 top 它是後進先出 lifo 的。對棧的基本操作只有push 進棧 和pop 出棧 兩種,前者相當於插入,後者相當於刪除最後的元素。實現 利用乙個單鏈表來實現棧的資料結構。而且,因為我們都只針對棧頂元素進行操作,...
(C語言)資料結構 佇列 棧
12 佇列 queue 入隊 put 出對get 1 2 file queue linkedlist.c 3 4 佇列 queue 5 入隊 put 放在鍊錶尾部,並更新指向鍊錶尾部的指標tail 6 出隊 get 返回並刪除鍊錶頭部節點,並更新指向鍊錶頭部的指標head 7 8 9 include...