您的位置:首页 > 其它

顺序队列--简单操作

2017-10-12 14:02 375 查看
实现顺序队列的入队和出队操作

#include<iostream>
using namespace std;
#define MAX 10
class Cirstack{
public:Cirstack(){front=rear=MAX-1;}
~Cirstack(){}
void EnQueue(int x);
int DeQueue();
int GetQueue();
int Empty(){
if(front==rear)return 1;return 0;
}
private:
int data[MAX];
int front, rear;
};
void Cirstack::EnQueue(int x){ //入队
if((rear+1)%MAX==front) throw "上溢";
rear=(rear+1)%MAX;
data[rear]=x;
}

int Cirstack::DeQueue(){ //出队
if(rear==front) throw "下溢";
front=(front+1)%MAX;
return data[front];

}

int Cirstack::GetQueue(){
int i;
if(rear==front) throw "下溢";
i=(front+1)%MAX;
return data[i];
}

int main(){
Cirstack Que;
int a[20],n,i,x;
cout<<"How many number do you want?"<<endl;
cin>>n;
cout<<"请依次输入入队的值:";
for(i=0;i<n;i++)
{
cin>>x;
Que.EnQueue(x);
}
cout<<"队头为:"<<Que.GetQueue<<endl;
cout<<"出栈顺序为:"<<endl;
for(i=0;i<n;i++)
cout<<Que.DeQueue()<<" ";
cout<<endl;
return 0;
}



实验结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: