标题:C语言链表实现队列问题
只看楼主
dengdaisky
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2010-4-11
结帖率:54.55%
已结贴  问题点数:10 回复次数:2 
C语言链表实现队列问题
我想问一下为什么没有输出啊????  不知道我的display()错误出现在哪里,求指教

#include "stdafx.h"
#include <iostream>
using namespace std;
#include <stdlib.h>
typedef struct qnode
{
    int data;
    struct qnode *next;
}QNODE;
typedef struct
{
    QNODE *front;
    QNODE *rear;
}LIqueue;
void init(LIqueue *&q)
{
    q=new LIqueue();
    q->front=q->rear=NULL;
}
bool empty(LIqueue *q)
{
    if(q->rear==NULL)
        return true;
    else
        return false;
}
void Enter(LIqueue *&q,int e)
{
    QNODE *p;
    p=new QNODE();
    p->data=e;
    p->next=NULL;
    if (q->rear==NULL)
        q->front=q->rear=p;
    else
    {
        q->rear->next=p;
        q->rear=p;
    }
}
bool out(LIqueue *&q,int &e)
{
    QNODE *t;
    if (q->rear==NULL)
        return false;
    else
        t=q->front;
    if (q->front==q->rear)
    q->front=q->rear=NULL;
    else
        q->front=q->rear->next;
    e=t->data;
    free(t);
    return true;
}
void display(LIqueue *q)
{
    QNODE *p=new QNODE();
    p=q->front->next;
    if (p!=NULL)
    {
      cout<<p->data<<"\t";
      p=p->next;
    }
}
int _tmain(int argc, _TCHAR* argv[])
{
   
    LIqueue *q;
    init(q);
    Enter(q,8);
    display(q);
    system("pause");
    return 0;
}

搜索更多相关主题的帖子: void namespace display include return 
2013-05-13 12:47
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
得分:10 
程序代码:
void display(LIqueue *q)
{
    QNODE *p = q->front;
    while (p!=NULL)
    {
      cout<<p->data<<"\t";
      p=p->next;
    }
}


[fly]存在即是合理[/fly]
2013-05-13 13:17
dengdaisky
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2010-4-11
得分:0 
回复 2楼 azzbcc
谢谢,终于解决了
2013-05-13 13:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406959-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.016195 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved