下面是关于队列的一些基本操作:
1,数组仿真队列:
#include<stdio.h>
#define size 10
int queue[size];
int front=-1;
int rear=-1;
void push(int value);
int pop();
void clear();
void show();
void main()
{
push(1);
push(3);
push(5);
push(7);
show();
printf("出列:%d\n",pop());
show();
printf("清空之后:\n");
clear();
show();
}
void push(int value)
{
rear++;
if(rear==size-1)
{
printf("队列已满\n");
exit(-1);
}
queue[rear]=value;
}
int pop()
{
if(rear==-1)
{
printf("队列为空\n");
exit(-1);
}
front++;
int data=queue[front];
return data;
}
void clear()
{
front=-1;
rear=-1;
}
void show()
{
printf("队列:\n");
for(int i=front+1; i<=rear; i++)
{
printf("%d\t",queue[i]);
}
printf("\n");
}
2,数组仿真循环队列: