#include<stdio.h>
# define maxsize 10
typedef struct {
int data[maxsize] ;
int front ,rear;
}squeue;
void Initqueue(squeue &s){ //初始化队列
s.front=s.rear=0;
}
bool insert(squeue &s,int x){ //插入元素 ,入队
if((s.rear+1)%maxsize==s.front)
{
printf("队列已满,插入失败\n");
return false;
}
s.data[s.rear]=x;
s.rear=(s.rear+1)%maxsize;
printf("插入成功\n");
}
void looksqueue(squeue &s){ //查看队列元素
if(s.rear==s.front)
{
printf("队列为空\n");
}
int j=0;
for(int i=s.front;i!=s.rear;i=(i+1)%maxsize)
{
j++;
printf("第%d个元素为%d\n",j,s.data[i]);
}
}
void empty (squeue &s){ //判断队列是否为空
if(s.front==s.rear)
{
printf("队列为空\n");
}
}
bool Delete (squeue &s,int x){ //删除元素,出队
if(s.front==s.rear)
{
printf("队列为空,出队失败\n");
return false;
}
x=s.data[s.front];
printf("出队成功,元素为%d\n",x);
s.front=(s.front+1)%maxsize;
return true;
}
int main (){
squeue s;
Initqueue (s);
empty(s) ;
insert(s,1);
insert(s,2);
insert(s,3);
insert(s,4);
insert(s,5);
insert(s,6);
insert(s,7);
insert(s,8);
insert(s,9);
insert(s,10);
looksqueue(s);
int x;
Delete(s,x);
Delete(s,x);
Delete(s,x);
looksqueue(s);
insert(s,55);
looksqueue(s);
return 0;
}