[数据结构C]队列测试代码;C语言队列测试代码
#include<malloc.h>
#include<string.h>
#include<stdio.h>
typedef struct qnode{
char data;
struct qnode *next;
}qnode,*queueptr;
typedef struct{
queueptr front;
queueptr rear;
}linkqueue;
initqueue(linkqueue *q)
{
q->front=q->rear=(queueptr)malloc(sizeof(qnode));
if(!q->front)exit(0);
q->front->next=0;
}
enqueue(linkqueue *q,char e)
{qnode *p;
p=(queueptr)malloc(sizeof(qnode));
if(!p)exit(0);
p->data=e;p->next=0;
q->rear->next=p;
q->rear=p;
}
dequeue(linkqueue *q,char *e)
{ qnode *p;
if(q->front==q->rear)exit(0);
p=q->front->next;
*e=p->data;
/*printf("%c",*e); */
q->front->next=p->next;
free(p);
}
print(linkqueue *p)
{ qnode *q;
q=p->front->next;
for(;q->next==0;)
{printf("%c",*q);q=q->next; }
}
main()
{char e;
linkqueue q;
initqueue(&q);
e=getchar();
/*printf("%c",e); */
enqueue(&q,'x') ;
enqueue(&q,e);
enqueue(&q,e);
dequeue(&q,&e);
printf("%c",e);
dequeue(&q,&e);
printf("%c",e);
getch();
}