資料結構 C語言 實驗二 棧與佇列操作

2021-10-09 16:38:07 字數 1326 閱讀 5701

實驗二 棧與佇列

實驗目的:

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