这是根据顺序表实现的队列的顺序存储结构
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data[100];
int size;
}node,*linklist;
void create_queue(linklist *l)//队列的建立
{
(*l)=(node*)malloc(sizeof(node));
int i,j,x;
printf("please input:");
scanf("%d",&j);
(*l)->size=j;
for(i=0;i<j;i++)
{
scanf("%d",&x);
(*l)->data[i]=x;
}
}
void print_queue(linklist *l)//队列的打印
{
int i;
for(i=0;i<(*l)->size;i++)
{
printf("%4d",(*l)->data[i]);
}
}
void pop_queue(linklist *l)//出队列
{
int i,x,j;
for(i=0;i<(*l)->size-1;i++)
{
(*l)->data[i]=(*l)->data[i+1];
}
(*l)->size--;
}
void push_queue(linklist *l)//进队列
{
int i,x;
scanf("%d",&x);
(*l)->data[(*l)->size]=x;
(*l)->size++;
}
int main()
{
linklist a;
create_queue(&a);
//pop_queue(&a);
push_queue(&a);
print_queue(&a);
return 0;
}