實現乙個迴圈佇列
佇列的特點就是先進先出,尾插頭出。
涉及到迴圈,,,無論是陣列還是鍊錶,重點在於取餘!!!,防止溢位。。。
例如陣列大小為5,當隊尾為4時,( 且 隊頭!= 隊尾 ),再入隊後,隊尾應改變為0,需用取餘。
#include
using namespace std;
class queue
//析構函式
~queue()
//拷貝構造
queue (const queue & que)
_front = que._front;
_tial = que._tial;
_size = que._size;
}//賦值拷貝構造
queue & operator = (const queue & que)
_front = que._front;
_tial = que._tial;
_size = que._size;
}//入隊
void push(int val)
//出隊
void pop()
//獲得隊頭資料
int front()
//判滿
bool full()
//判空
bool empty()
//擴容
void resize()
delete_que;
_que = _queue;
_front = 0;
_tial = _size;
_size *= 2;
}private:
int* _que; //申請的空間
int _front; //隊頭
int _tial; //隊尾
int _size; //空間大小
};int main()
迴圈佇列的乙個簡單實現
這是筆試中遇到的一道題,要求實現迴圈佇列,有入隊,出隊,判斷是否為空,是否滿等操作。分析 可以使用乙個陣列來存放迴圈佇列,隊頭標記與隊尾標記初始都為0,入隊操作即隊尾標記加1,若加1後相對迴圈等於隊頭則上溢 出隊操作即隊頭標記加1,若加1後相對迴圈等於隊尾則下溢 若隊頭標記等於隊尾標記則為空 若隊尾...
如何實現乙個迴圈佇列
下面是乙個迴圈佇列的完整實現,歡迎讀者朋友參考和指正 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...