求大神指教为啥元素入不了队 拜托了。
#include<stdio.h>#include<stdlib.h>
int i=0;//定义一个全局变量
typedef struct list
{
int date;
struct list *next;
}L;
typedef struct Queue
{
L *fornt;
L *rear;
}Queue;
initQueue(Queue *p)
{
L *p1;
p1=(L *)malloc(sizeof(L));//创建一个头结点
p->fornt=p->rear=p1; //首尾指针都指向这个头结点
}
EnQueue(Queue *p,int n)
{
L *p1;
p1=(L *)malloc(sizeof(L));//当要入队的元素来之后开辟新节点并存放元素
p1->date=n;
p->rear->next=p1;//将新结点链到头结点后
p->rear=p1;
p->rear->next=NULL;
i++;
printf("%d",i);
}
int *DeQueue(Queue *p,int *e)
{
L *p1;
e=p->fornt;
p->fornt=p->fornt->next;
return e;
}
main( )
{
int n,m,b=0;
Queue Q;
Queue *e;
initQueue(&Q);
printf("请输入要入队的元素的个数\n");
scanf("%d",&m);
printf("请输入入队的元素\n");
while(b<m)
{ scanf("%d",n);
EnQueue(&Q,n);
b++;
}
b=0;
while(b<=i)
{
e=DeQueue(&Q,&e);
printf("%d",*e);
b++;
}
}
这是个创建一个链队并执行出队入队的程序。