#include<iostream>
#define maxSize 10
using namespace std;
typedef struct
{
int rear,front;
int data[maxSize];
}SqQueue;
void InitSqQueue(SqQueue &qu)
{
qu.front=qu.rear=0;
}
int QueueEmpty(SqQueue qu)
{
if(qu.front==qu.rear)
return 1;
else return 0;
}
int enQueue(SqQueue &qu,int x)
{
if((qu.rear+1)%maxSize==qu.front)
return 0;
qu.rear=(qu.rear+1)%maxSize;
qu.data[qu.rear]=x;
return 1;
}
int deQueue(SqQueue &qu,int &x)
{
if(qu.front==qu.rear)
return 0;
qu.front=(qu.front+1)%maxSize;
x=qu.data[qu.front];
return 1;
}
void print(SqQueue &qu)
{
int i,j;
i=qu.rear;
j=qu.front;
cout<<"打印队列:";
while(i!=j)
{
j=(j+1)%maxSize;
cout<<qu.data[j]<<" ";
}
cout<<endl;
}
int main()
{
int x;
SqQueue sq;
InitSqQueue(sq);
enQueue(sq,1);
enQueue(sq,2);
enQueue(sq,3);
enQueue(sq,4);
enQueue(sq,5);
enQueue(sq,6);
if(deQueue(sq,x)==1) cout<<x<<endl;
if(deQueue(sq,x)==1) cout<<x<<endl;
if(deQueue(sq,x)==1) cout<<x<<endl;
if(deQueue(sq,x)==1) cout<<x<<endl;
enQueue(sq,7);
enQueue(sq,8);
enQueue(sq,9);
enQueue(sq,10);
if(deQueue(sq,x)==1) cout<<x<<endl;
enQueue(sq,11);
enQueue(sq,12);
enQueue(sq,13);
enQueue(sq,14);
print(sq);
return 1;
}
posted on 2012-08-25 08:14
yyj 阅读(607)
评论(0) 编辑 收藏 引用