队列特点:
- 先进先出
- 只能从队列头部删除元素
- 只能从队列尾部插入元素
使用:
#include "circlequeue.h"
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
CCircleQueue<int> queue(4);//定义一个容量为4的队列
int i=1;
bool ret;
ret=queue.push_back(i);
if(!ret)
{
cout << "push_back failed" << endl;
}
else
{
cout << "queue.size() = " << queue.size() << ", queue.space() = " << queue.space() << endl;
}
ret=queue.pop_front(0);
if(!ret)
{
cout << "pop_front failed" << endl;
}
else
{
cout << "queue.size() = " << queue.size() << ", queue.space() = " << queue.space() << endl;
}
i=2;
ret=queue.push_back(i);
if(!ret)
{
cout << "push_back failed" << endl;
}
else
{
cout << "queue.size() = " << queue.size() << ", queue.space() = " << queue.space() << endl;
}
i=3;
ret=queue.push_back(i);
if(!ret)
{
cout << "push_back failed" << endl;
}
else
{
cout << "queue.size() = " << queue.size() << ", queue.space() = " << queue.space() << endl;
}
i=4;
ret=queue.push_back(i);
if(!ret)
{
cout << "push_back failed" << endl;
}
else
{
cout << "queue.size() = " << queue.size() << ", queue.space() = " << queue.space() << endl;
}
i=5;
ret=queue.push_back(i);
if(!ret)
{
cout << "push_back failed" << endl;
}
cout << "queue.size() = " << queue.size() << ", queue.space() = " << queue.space() << endl;
int size=queue.size();
for(int i=0; i<size; i++)
{
cout << "The " << (i+1) << "th is " << queue[i] << endl;
}
return 1;
}
输出:
queue.size() = 1, queue.space() = 3
queue.size() = 0, queue.space() = 4
queue.size() = 1, queue.space() = 3
queue.size() = 2, queue.space() = 2
queue.size() = 3, queue.space() = 1
queue.size() = 4, queue.space() = 0
The 1th is 2
The 2th is 3
The 3th is 4
The 4th is 5