用固定数组实现队列
队列顾名思义就是排队的队列,像排队一样先进先出
这里举个例子
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#define max 10
using namespace std;
class ArrayQueue
{
public:
ArrayQueue(int len)
{
this->size = 0;
this->start = 0;
this->end = 0;
this->Queue = new int[len];
this->Qlen = len;
}
int peek()
{
if (size==0)
{
cout << "空的!" << endl;
}
return Queue[start];
}
void push(int obj)
{
if (size==Qlen)
{
cout << "满了!" << endl;
}
size++;
Queue[end] = obj;
end = end == Qlen - 1 ? 0 : end + 1;
}
void poll()
{
if (size == 0)
{
cout << "空的!" << endl;
}
size--;
start = start == Qlen - 1 ? 0 : start + 1;
}
private:
int *Queue;
int size;
int start;
int end;
int Qlen;
};
int main(void)
{
ArrayQueue queue = ArrayQueue(max);
for (int i = 0; i < max; ++i)
{
queue.push(max - i);//固定数组实现队列故是10 9 8 7 6 5 4 3 2 1
}
for (int i = 0; i < max; ++i)
{
cout << queue.peek() << " ";//输出为10 9 8 7 6 5 4 3 2 1
queue.poll();
}
system("pause");
return 0;
}