迴圈佇列(965)

2021-08-21 01:40:12 字數 993 閱讀 3988

根據給定的空間構造順序迴圈佇列,規定隊滿處理方法為少用乙個元素空間。例如,給定5個元素空間構造迴圈佇列,則只能存放4個元素。試根據入隊及出隊操作判斷佇列最後的元素存放情況,並輸出最後佇列中的元素值,即完成給定入隊及出列操作後一次性全部出隊的元素值。要求採用順序佇列完成,少用乙個儲存空間的方法區分佇列的空和滿。

輸入

輸入的第一行為乙個自然數n,表示要求構造的順序迴圈佇列空間數。 第二行為操作次k,接下來k行為出隊入隊操作,每行各代表一次操作。入隊用in表示,出隊用out表示,如果是入隊,則in隔一空格後為一整數,表示入隊元素值。
輸出
輸出完成所有入隊出隊操作後,一次性出隊元素。用乙個空格隔開。可以假定隊在完成所有操作後不為空。

樣例輸入

4
7
in 1
in 2
in 5
in 6
out
out
in 8
樣例輸出
5 8

#include#include#include#include#includetypedef int elemtype;

using namespace std;

#define maxsize 1000

typedef struct

sqqueue;

sqqueue *q;

int n;

void init(sqqueue *&q)

bool queueempty(sqqueue *q)

bool enqueue(sqqueue *&q,int num,int &end)

bool dequeue(sqqueue *&q,int &begin)

int main()

else if(strcmp(s,"out")==0)

}while(begin!=end)

return 0;

}

SWUSTOJ 965 迴圈佇列

源 根據給定的空間構造順序迴圈佇列,規定隊滿處理方法為少用乙個元素空間。例如,給定5個元素空間構造迴圈佇列,則只能存放4個元素。試根據入隊及出隊操作判斷佇列最後的元素存放情況,並輸出最後佇列中的元素值,即完成給定入隊及出列操作後一次性全部出隊的元素值。要求採用順序佇列完成,少用乙個儲存空間的方法區分...

佇列 迴圈佇列

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

迴圈佇列 622 設計迴圈佇列

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