顺序队列的相关代码

# include <iostream>
using namespace std;
template <class T>
class queue 
{
public :
void clear();
bool enqueue (const T item);
bool dequeue(T & item);
bool getfront(T & item);
bool isempty();
bool isfull();
};
template <class T>
class arrqueue :public queue<T>
{
private :
int msize ;
int front;
int rear;
T *qu;
public :
arrqueue(int size)
{
msize=size+1;
qu=new T[msize];
front=rear=0;
}
~arrqueue()
{
delete [] qu;
}
void clear()
{
front=rear;
}
bool enqueue(const T item)
{
if(((rear+1)%msize)==front)
{
cout<<"队列已满,溢出"<<endl;
return false;
}
qu[rear]=item;
rear=(rear+1)%msize;
return true;
}
bool dequeue(T & item)
{
if(front==rear)
{
cout<<"队列为空 "<<endl;
return false;
}
item=qu[front];
front=(front+1)%msize;
return true;
}
bool getfront(T & item)
{
if(front==rear)
{
cout<<"队列为空"<<endl;
return false;
}
item=qu[front];
return true;
}
void show ()
{
int i=front;
if(rear>front)
{
for(i=front;i<rear;i++)
cout<<qu[i]<<","<<endl;
}
else
{
for( i=front;i<=msize-1;i++)
cout<<qu[i]<<","<<endl;
for(i=0;i<rear;i++)
cout<<qu[i]<<","<<endl;
}
}

};

# include <iostream>
# include "5.h"
using namespace std;
void main()
{
int max,e,i,m;
cout<<"请输入队列的长度:";
cin>>max;
arrqueue <int> yddqueue(max);
cout<<"请输入有多少个元素:";
cin>>m;
cout<<"请输入 "<<m<<" 元素:";
for(i=1;i<=m;i++)
{
cin>>e;
         yddqueue.enqueue(e);
}
yddqueue.show();
cout<<"dequeue an element is:";
yddqueue.dequeue(e);
cout<<e<<endl;




}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值