描述
假設以陣列q[m]存放迴圈佇列中的元素, 同時設定乙個標誌tag,以tag== 0和tag == 1來區別在隊頭指標(front)和隊尾指標(rear)相等時,佇列狀態為「空」還是「滿」。試編寫與此結構相應的插入(enqueue)和刪除(dlqueue)演算法。
輸入多組資料,每組資料有兩行。第一行為乙個整數n,n表示入隊序列a的長度(n個數依次連續入隊,中間沒有出隊的情況),第二行為序列a(空格分隔的n個整數)。當n=0時,輸入結束。
輸出對應每組資料輸出一行。依次輸出佇列中所有的整數,每兩個整數之間用空格分隔。
輸入樣例 1
41 2 3 4
51 2 4 5 3
0
輸出樣例 1
1 2 3 41 2 4 5 3
#include usingnamespace
std;
#define maxsize 100typedef
struct
sqqueue;
int initqueue(sqqueue &q)
int enqueue(sqqueue &q,int
e)
int dequeue(sqqueue &q,int &e)//&
int isempty(sqqueue &q)
intmain()
while(m!=0
)
cout
<}
}
迴圈佇列的基本實現
2.完成對迴圈佇列結構的定義,以及對迴圈佇列的各種基本運算的實現 每種基本運算用乙個函式來實現 基本運算包括 初始化init sqqueue運算 判隊空empty sqqueue運算 入隊en sqqueue運算 出隊de sqqueue運算 取隊頭元素gethead sqqueue運算。inclu...
迴圈佇列的基本操作
一 迴圈佇列的基本概念。佇列是線性表的一種,相對於棧的先進後出 filo 佇列是先進先出的 fifo 因此只能在一端輸入 隊尾rear 在另一端輸出 隊頭front 順序佇列的隊頭指向當前佇列第乙個元素的位置,隊尾指向當前元素的下乙個位置的下乙個位置,但是當隊滿時不能入棧,存在問題 設陣列長度為m,...
迴圈佇列的基本實現
佇列 只允許在一端進行插入操作 隊尾 在另一端進行刪除操作的線性表 隊頭 先進先出。迴圈佇列 為了解決假溢位的問題 迴圈佇列有兩個指標,rear尾指標和front頭指標 相當於陣列的下標 隊空 rear和front指在同乙個位置,即 rear front 隊滿 rear 1 queuesize fr...