64,649
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<stdlib.h>
using namespace std;
#define error 0
#define ok 1
#define Max 10
typedef int elemtype;
typedef int status;
class Queue
{
private:
elemtype *base;
int front;
int rear;
public:
Queue(const int max);
int Queuelength();
status enqueue(elemtype e);
status dequeue(elemtype &e);
~Queue();
};
Queue::Queue(const int max=Max)
{
cout<<"kai"<<endl;
base=(elemtype *)malloc(max*sizeof(elemtype));
front=rear=0;
}
int Queue::Queuelength()
{
return (rear-front+Max)%Max;
}
status Queue::enqueue(elemtype e)
{
if((rear+1)%Max==front) return error;
base[front]=e;
rear=(rear+1)%Max;
return ok;
}
status Queue::dequeue(elemtype &e)
{
if(rear==front)
return error;
e=base[front];
front=(front+1)%Max;
return ok;
}
Queue::~Queue()
{
cout<<"已经完蛋"<<endl;
}
int main()
{
Queue qu1;//你重载了构造函数,这里调用了默认构造函数,但是找不到你的默认构造函数的实现!!!
int i,e;
for(i=0;i<10;i++)
{
cin>>e;
qu1.enqueue(e);
}
while(qu1.Queuelength!=0)
{
qu1.dequeue(e);
cout<<e;
}
return 0;
}