迴圈佇列的乙個簡單實現

2021-05-18 07:52:05 字數 458 閱讀 4886

這是筆試中遇到的一道題,要求實現迴圈佇列,有入隊,出隊,判斷是否為空,是否滿等操作。

分析:可以使用乙個陣列來存放迴圈佇列,隊頭標記與隊尾標記初始都為0,入隊操作即隊尾標記加1,若加1後相對迴圈等於隊頭則上溢;出隊操作即隊頭標記加1,若加1後相對迴圈等於隊尾則下溢;若隊頭標記等於隊尾標記則為空;若隊尾標記加1相對迴圈等於隊頭則為滿。

具體實現如下:

template

class cirqueue

; cirqueue()

~cirqueue()

void enqueue(t x)

t dequeue()

bool isempty()

bool isfull()

private:

int front, rear;

t data[maxsize];

};

c 實現乙個簡單的迴圈佇列

實現乙個迴圈佇列 佇列的特點就是先進先出,尾插頭出。涉及到迴圈,無論是陣列還是鍊錶,重點在於取餘!防止溢位。例如陣列大小為5,當隊尾為4時,且 隊頭!隊尾 再入隊後,隊尾應改變為0,需用取餘。include using namespace std class queue 析構函式 queue 拷貝構...

如何實現乙個迴圈佇列

下面是乙個迴圈佇列的完整實現,歡迎讀者朋友參考和指正 template class cyclicqueue cyclicqueue cyclicqueue const cyclicqueue copy m poppos 0 m count 0 cyclicqueue operator const c...

如何實現乙個迴圈佇列

template class cyclicqueue cyclicqueue cyclicqueue const cyclicqueue copy m poppos 0 m count 0 cyclicqueue operator const cyclicqueue other return thi...