迴圈佇列(嚴3 30)

2021-08-18 17:36:06 字數 1092 閱讀 2119

假設將迴圈佇列定義為:以域變數rear和length分別指示迴圈佇列中隊尾元素的位置和內含元素的個數。編寫相應的入佇列和出佇列的程式,並判斷迴圈佇列是否隊滿(在出佇列的演算法中要返回隊頭元素)。

第一行輸入佇列大小n,第二行開始輸入若干入隊元素,隊滿時,停止入隊,隊滿時輸出yes,否則輸出no。第三行輸入出隊元素。

輸出出隊操作後的迴圈佇列,並返回出隊後的隊頭元素。

#include#includetypedef struct queue;  

queue* createqueue(int k)

void addq(queue *q, int item)

else

} void pop(queue *q)

else

} int top(queue *q)

void output(queue *q)

printf("%d\n",q->date[q->rear]);

} int main()

; char s[10000];

char str[100];

int n,cnt=0;

scanf("%d",&n);

getchar();

queue *q;

q=createqueue(n);

int i;

gets(s);

for(i=0;s[i];)

else

cnt++;

i=t;

} }

for (int i = 0; i < cnt; i++)

scanf("%s",str);

int data;

scanf("%d",&data);

while (top(q) != data)

pop(q);

int t = top(q);

output(q);

printf("%d\n",t);

return 0;

}

題目描述有問題……湊合做了

佇列 迴圈佇列

迴圈佇列是乙個大小確定的特殊佇列,它的特殊體現在迴圈,之前提到的普通佇列,我們是用鍊錶來實現的,在這裡,由於迴圈佇列是乙個長度確定的佇列,所以我們可以拿順序表來實現。迴圈佇列的操作與普通佇列類似,不過不同的地方在於當rear走到capacity 1並且front在0號元素位置的時候,當此時再有元素入...

迴圈佇列 622 設計迴圈佇列

設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為環形緩衝器。迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,一旦乙個佇列滿了,我們就不能插入下乙個元素,即使在佇列前面仍有空間。但是使用...

佇列(迴圈佇列 鏈佇列)

迴圈佇列 cirqueue.h 名稱 迴圈佇列 基於陣列 templateclass cirqueue q size 1 多申請乙個位置,保證隊滿 對空容易判定!cirqueue void enter datatype data 入隊操作 datatype shift 出隊操作 datatype g...