关于队列的入队和出队的问题,和简单的输出来
#include<stdio.h>#include<stdlib.h>
typedef struct aa
{
int data;
struct aa *next;
}Linkqueue;
typedef struct bb
{
Linkqueue *front;
Linkqueue *rear;
}Queue;
int InitQueue(Queue *Q)
{//初始化队列
Q->front=(Linkqueue*)malloc(sizeof(Linkqueue));
if(Q->front!=NULL)
{
Q->rear=Q->front;
Q->front->next=NULL;
return 1;
}
else
return 0;
}
int EnterQueue(Queue *Q,int a)
{//入队
Linkqueue *s;
s=(Linkqueue*)malloc(sizeof(Linkqueue));
if(s!=NULL)
{
s->data=a;
s->next=NULL;
Q->rear->next=s;
Q->rear=s;
return 1;
}
else
return 0;
}
int DeleteQueue(Queue *Q,int *x)
{//出队
Linkqueue *p;
if(Q->front==Q->rear)
return 0;
p=Q->front->next;
Q->front=p->next;
if(Q->rear==p)
Q->rear=Q->front;
*x=p->data;
free(p);
return *x;
}
int main()
{
Queue *L;
Linkqueue *q;
InitQueue(L);
int b,n,*c,d;
printf("你要入队的个数n:\n");
scanf("%d",&n);
printf("接下来输入n个数:\n");
while(n--)
{
scanf("%d",&b);
EnterQueue(L,b);
}
while(L->front!=L->rear)
{
d=DeleteQueue(L,c);
printf("%d ",d);
}
printf("\n");
return 0;
}
//不知道为什么运行不了,求大神指导