資源簡介
設計一個環形隊列,用front和rear分別作為隊頭和隊尾指針,另外用一個tag表示隊列是空(0)還是不空(1),這樣就可以用front==rear作為隊滿的條件。要求設計隊列的相關基本運算算法。
代碼片段和文件信息
#include
using?namespace?std;
class?arrayqueue
{
private:
int?maxsize;
int?*front;
int?*rear;
int?*queue;
int??tag;
????int?i;
public:
arrayqueue(int?size)
{
maxsize=size;
queue=new?int[maxsize];
front=rear=queue;
????tag=0;
i=0;
}
~arrayqueue()
{
delete[]queue;
}
void?clear()
{
front=rear;
tag=0;
}
bool?enqueue(const?int?item)
{
if(rear==front&&tag==1)
{
cout<<“隊列已滿“< return?false;
}
*rear=item;
i++;
tag=1;
if(i {
rear++;
}
if(i==maxsize)
{
rear=front;
}
return?true;
}
bool?dequeue(int?&item)
{
if(fro
- 上一篇:C++實現數據結構源代碼
- 下一篇:Bloom過濾器的C++實現
評論
共有 條評論