帮忙修改一下这个队列吧,指出哪里错了,谢谢
#include<stdio.h>#include<malloc.h>
typedef struct Qnode
{
int data;
struct Qnode *next;
}Qnode;
typedef struct queue
{
Qnode *rear;
Qnode *front;
} queue,*queueptr;
int EnQueue(queue*Q,int m)
{
int i;
Qnode *q;
for(i=1;i<=m;i++)
{
q=( Qnode*)malloc(sizeof( Qnode));
printf("输入元素值:");
scanf("%d",&q->data);
q->next=NULL;
Q->rear->next=q;
Q->rear=q;
}
return 0;
}
int DeQueue(queue*Q)
{
printf("队头元素:");
printf("%d",Q->front->data);
free( Q->front);
Q->front=Q->front->next;
return 0;
}
void innitqueue(queueptr Q)
{
Qnode* m;
m=(Qnode*)malloc(sizeof( Qnode));
Q->rear=Q->front=m;
m->next=NULL;
}
int main()
{
int m;
queueptr Q;
innitqueue(Q);
printf("输入要插入的元素个数:");
scanf("%d",&m);
EnQueue(Q,m);
DeQueue(Q);
free(Q);
return 0;
}