|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct qnode
- {
- int num;
- struct qnode *next;
- } q1,*q1ptr;
- typedef struct
- {
- q1ptr f,r;
- } q1fr;
- int initq(q1fr *qfr)
- {
- q1 *queue;
- queue=(q1 *)malloc(sizeof(q1));
- queue->next=NULL;
- qfr->f=queue;
- qfr->r=queue;
- return 0;
- }
- int emptyq(q1fr *qfr)
- {
- return qfr->r==qfr->f;
- }
- int in(q1fr *qfr,int x)
- {
- q1 *queue;
- queue=(q1 *)malloc(sizeof(q1));
- queue->num=x;
- queue->next=NULL;
- if(emptyq(qfr))
- {
- qfr->r=queue;
- qfr->f=queue;
- }
- else
- {
- qfr->r->next=queue;
- qfr->r=queue;
- }
- return 0;
- }
- int out(q1fr *qfr,int *x)
- {
- q1fr *t;
- if(emptyq(qfr))
- {
- return 1;
- }
- else
- {
- t=qfr;
- *x=qfr->f->num;
- if(qfr->f->next==NULL)
- {
- qfr->r=NULL;
- qfr->f=NULL;
- }
- else
- {
- qfr->f=qfr->f->next;
- }
- free(t);
- return 0;
- }
- }
- int printq(q1fr *qfr)
- {
- q1fr *t;
- if(emptyq(qfr))
- {
- return 1;
- }
- else
- {
- t=qfr;
- while(!emptyq(t))
- {
- printf("%d ",t->f->num);
- t->f=t->f->next;
- }
- return 0;
- }
- }
- int main()
- {
- q1fr qfr;
- initq(&qfr);
- in(&qfr,5);
- in(&qfr,6);
- in(&qfr,7);
- in(&qfr,8);
- in(&qfr,9);
- printq(&qfr);
- return 0;
- }
复制代码 将5,6,7,8,9依次入队,最终无法输出,求教= =
|
|