#include<iostream>
using namespace std;
#define MAXSIZE 10
typedef struct Queue{
/**********Begin******************/
int front;
int *base;
int rear;
/**********End********************/
}Queue;
bool InitQueue(Queue &Q)
{
/**********Begin******************/
Q.base=new int [10];
Q.front=Q.rear=0;
/**********End********************/
}
bool EnQueue(Queue &Q,int x)
{
/**********Begin******************/
if(Q.rear-Q.front==10)return 0;
Q.base[Q.rear]=x;
Q.rear=(Q.rear+1)%10;
/**********End********************/
}
bool DeQueue(Queue &Q, int &x)
{
/**********Begin******************/
if(Q.front==Q.rear)return 0;
x=Q.base[Q.front];
Q.front=(Q.front+1)%10;
/**********End********************/
}
bool Traverse(Queue Q)
{
/**********Begin******************/
int c;
while(Q.rear!=Q.front)
{
DeQueue(Q,c);
cout<<c<<" ";
}
/**********End********************/
}
int main()
{
Queue Q;
InitQueue(Q);
int n,num;
char opp;
cin>>n;
while(n--)
{
cin>>opp;
switch(opp){
case 'I':
{
cin>>num;
EnQueue(Q,num);
break;
}
case 'O':
{
DeQueue(Q,num);
break;
}
}
}
Traverse(Q);
return 0;
}
第1关:利用率百分百的循环队列
最新推荐文章于 2024-10-15 19:28:18 发布