/*队列类的设计:
(1)在定义对象时,能够确定队列的长度
(2)定义enqueue和dequeue函数
(3)定义运算符重载函数,确定队列是否为空
(4)定义成员函数,返回队列长度
(5)定义变换函数,返回队列中数据个数
(6)定义析构函数
*/
#include<iostream>
using namespace std;
class queue
{
int size;
int *front;
int *base;
public:
queue(int n)
{
front=base=new int[n];
size=n;
}
void enqueue(int x)
{
if(front-base<size)
*front++=x;
}
int dequeue()
{
int member,*p;
if(front>base)
{
member=*base;
for(p=base+1;p<front;p++)
{
*(p-1)=*p;
}
--front;
}
return member;
}
int operator!()
{
return(front==base);
}
int getlength()
{
return size;
}
operator int()
{
return(front-base);
}
void disp()
{
while(base!=front)
{
cout<<*base++<<" ";
}
}
~queue()
{
delete []base;
}
};
int main()
{
queue s(10);
s.enqueue(0);
s.enqueue(1);
s.enqueue(2);
s.enqueue(4);
int x=s.dequeue();cout<<x<<endl;
cout<<"queue.length="<<s.getlength()<<endl;
int y=s;cout<<"number="<<y<<endl;
s.disp();
}
队列类的设计
最新推荐文章于 2023-12-08 11:30:43 发布