首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

帮忙看下这队列的异常

2012-03-21 
帮忙看下这队列的错误C/C++ code/*队列管理的模拟算法(队列采用带首结点的链表结构)。采用如下管理模式:队

帮忙看下这队列的错误

C/C++ code
/*队列管理的模拟算法(队列采用带首结点的链表结构)。采用如下管理模式:队列初始化为空队列。键盘输入奇数时,奇数从队尾入队列。键盘输入偶数时,对头指针指向的奇数出队列。键盘输入0时退出算法。每键入1个整数,显示操作后队列的值。*/#include <stdio.h>#include <malloc.h>#define LQueue 100#define    QNode 1typedef struct node{    int data;    struct node * next;}Qnode;typedef struct{     QNode *front,*rear;}LQueue;LQueue *q;LQueue *Init_LQueue(){    LQueue *q,*p;    q=malloc(size(LQueue));    p=malloc(size(QNode))l;    p->next=NULL;    q->front=q->near=p;    return q;}void In_LQueue(LQueue *q,int x){    QNode * p;    p=malloc(sizef(QNode));    p->data=x;p->next=NULL;    q->rear->next=p;    q->rear=p;}int Empty_LQueue(LQueue *q){    if(q->front==q->rear)        return 0;    else return 1;}int Out_LQueue(LQueue * q,int * x){    QNode *p;    if(Empty_LQueue(q))    {        printf("对空");return 0;        else return 1;    }}int Out_LQueue(LQueue * q,int *x){    QNode *p;    if(Empty_LQueue(q))    {printf("对空");    return 0;    }    else     {        p=q->front->next;        q->front->next=p->next;        *x=p->data;        free(p);        if(q->front->next==NULL)        q->rear=q->front;        return 1;    }}void outlinkqueue(LQueue * q){     QNode * p;    p=q->front;    printf("Queue:");    while(p!=q->rear)    {        p=p->next;    printf("%d",p->data);}    printf("\n");}main(){    LQueue lq, *p;    int j;    p=&lq;    Init_LQueue(p);    printf("Input a integer:");    scanf("%d",&j);    while(j!=0){        if(j%2==1)    In_LQueue(p,j);//输入奇数,奇数入对列    else    j=Out_LQueue(p);//输入偶数,对首奇数出队列    outlinkqueue(p);    printf("%d",&j);}}


[解决办法]
帮忙顶个 大家帮帮忙吧
[解决办法]
int Empty_LQueue(LQueue *q)
{
if(q->front==q->rear)
return 0;
else return 1;
}

这个有问题,返回值写反了

热点排行