#P2580. 数组模拟队列
数组模拟队列
Description
#include <iostream>
#define MAXN 5
using namespace std;
//队列
int queue[MAXN] = {0};
//头指针
int front = 0;
//尾指针
int rear = 0;
//入队
void addqueue(int value) {
if(rear >= MAXN) {
cout<<"队满! "<<endl;
} else {
queue[rear] = value;
rear++;
}
}
//出队
int delqueue() {
int r;
if(front == rear) {
cout<<"队空"<<endl;
r = -1;
} else {
r = queue[front];
front++;
}
return r;
}
//显示队
void display() {
int i;
for(i = front; i < rear; i++) {
cout<<queue[i]<<" ";
}
cout<<endl;
}
int main() {
int order;//口令
int value,t;
cout<<"输入指令"<<endl;
while(1 == 1) {
cout<<"1 入队,2 出队,3 显示! "<<endl;
cin>>order;
if(order == 1) {
cin>>value;
addqueue(value);
display();
} else if(order == 2) {
t = delqueue();
if(t!=-1) {
cout<<t<<"已经出队"<<endl;
display();
} else {
cout<<"队列已空"<<endl;
}
} else if(order == 3) {
display();
} else {
cout<<" 口令错误!"<<endl;
}
}
return 0;
}