队列是一种限定操作的线性表,它只能在表的一段插入,另外一段取出.
所以也称为先进先出数据结构(FIFO---First
In First Out)
C代码如下(有小bug不想调了,作为参考即可):
#include
#define maxsize 5
typedef int ElemType;
typedef struct queue
{
int head;
int tail;
ElemType Data[maxsize];
}Queue;
void InitQueue(Queue *Q)
{
Q->tail=0;
Q->head=0;
}
void EnQueue(Queue *Q)
{
int value;
int i;
printf("Input Queue Value:\n");
scanf("%d",&value);
Q->head++;
int len=Q->head-Q->tail;
if(len
{
for(i=len-1;i>=0;i--)
Q->Data[i+1]=Q->Data[i];
}
Q->Data[Q->tail]=value;
printf("\n");
}
void DeQueue(Queue *Q)