C++队列
#define MAXSIZE 5
typedef struct
{
int arr[MAXSIZE];
int front;
int rear;
}queue;
void inqueue(queue *p,int e);
void outqueue(queue *p);
void printqueue(queue *p);
int main()
{
queue q;
q.front=q.rear=0;
int bh;
int e;
while(1)
{
printf("\t\t1.入队\n");
printf("\t\t2.出队\n");
printf("\t\t3.显示对内元素\n");
printf("\t\t0.退出\n");
printf("请输入您的选择:");
scanf("%d",&bh);
switch(bh)
{
case 1:
{
printf("请输入一个元素:");
scanf("%d",&e);
inqueue(&q,e);
}
break;
case 2:
{
outqueue(&q);
}
break;
case 3:
{
printqueue(&q);
}
break;
case 0:
{
}
break;
default:
{
printf("编号输入错误\n");
}
}
}
}
void inqueue(queue *p,int e)
{
if(p->rear==MAXSIZE-1)
{
printf("队列元素已满\n");
}
else
{
p->arr[p->rear]=e;
p->rear++;
printf("入队成功\n");
}
}
void outqueue(queue *p)
{
int e;
if(p->rear==p->front)
{
printf("栈内元素为空\n");
}
else
{
e = p->arr[p->front];
p->front++;
printf("出队成功,出队的元素是%d\n",e);
}
}
void printqueue(queue *p)
{
int i;
if(p->rear==p->front)
{
printf("栈内元素为空\n");
}
else
{
for(i=p->front;i<p->rear;i++)
{
printf("%d\t",p->arr[i]);
}
}
printf("\n");
}