马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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依次入队,最终无法输出,求教= =
|