#include <iostream>
using namespace std;
typedef int T;
class Queue{
T data[8];
int beg;
int sz;
public:
Queue():beg(),sz(){}
void push(const T& d){
if(sz>=8) throw "full";
data[(beg+sz)%8] = d;
sz++;
}
void pop(){
beg++;
sz--;
}
T front(){return data[beg%8];}
T back(){return data[(beg+sz-1)%8];}
bool empty(){return sz==0;}
int size(){return sz;}
};
int main()
{
Queue q;
q.push(1);q.push(2);q.push(3);q.push(4);q.push(5);q.push(6);q.push(7);q.push(8);
cout << q.front() << endl;
q.pop();
cout << q.front() << endl;
q.pop();
q.push(9);
q.push(10);
//q.push(11);
while(!q.empty()){
cout << q.front() << ' ';
q.pop();
}
cout << endl;
}
C++队列结构
最新推荐文章于 2024-09-24 12:30:40 发布