| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 828 人关注过本帖
标题:[求助]关于进队出队问题
只看楼主 加入收藏
没牙的狼
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-4-23
收藏
 问题点数:0 回复次数:2 
[求助]关于进队出队问题

#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{
int data;
struct Node *next;
}NodeQueue;
typedef struct Link
{
NodeQueue *front;
NodeQueue *rear;
}LinkQueue;
int CreatLinkQueue(LinkQueue *Q)
{
Q=(LinkQueue*)malloc(sizeof(LinkQueue));
Q->front=(NodeQueue*)malloc(sizeof(NodeQueue));
if(Q!=NULL)
{
Q->rear=Q->front;
Q->front->next=NULL;

return 1;
}

else
return 0;
}
void EnterQueue(LinkQueue *Q)
{
int c,flag;
NodeQueue *node;
printf("进队\n");
while(flag)
{
scanf("%d",&c);
if(c!=0)
{
node=(NodeQueue*)malloc(sizeof(NodeQueue));
node->data=c;
node->next=NULL;
Q->rear->next=node;
Q->rear=node;
flag=1;

}

else
flag=0;
}

}
int DeleteQueue(LinkQueue *Q)
{
LinkQueue *q;
if(Q->front==Q->rear)
return 0;
q=Q;
while(q->front->next!=NULL)
{
q->front=q->front->next;
printf("\n%d",q->front->data);
}
return 1;
}
void main()
{
LinkQueue *Q;
Q=(LinkQueue*)malloc(sizeof(LinkQueue));
CreatLinkQueue(Q);
EnterQueue(Q);
DeleteQueue(Q);
}
输入数据进不去,请帮忙看看,谢谢...运行环境vc++6.0





[此贴子已经被作者于2007-1-3 1:13:56编辑过]

搜索更多相关主题的帖子: front NodeQueue LinkQueue rear struct 
2007-01-03 01:11
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{
int data;
struct Node *next;
}NodeQueue;
typedef struct Link
{
NodeQueue *front;
NodeQueue *rear;
}LinkQueue;
LinkQueue* CreatLinkQueue()
{
LinkQueue *Q=(LinkQueue*)malloc(sizeof(LinkQueue));
Q->front=(NodeQueue*)malloc(sizeof(NodeQueue));
if(Q->front == NULL)
{
printf("Oh no!");
exit(1);
}
if(Q!=NULL)
{
Q->rear=Q->front;
Q->front->next=NULL;

return Q;
}

else
return NULL;
}
void EnterQueue(LinkQueue *Q)
{
int c,flag;
NodeQueue *node;
printf("进队\n");
while(flag)
{
scanf("%d",&c);
if(c!=0)
{
node=(NodeQueue*)malloc(sizeof(NodeQueue));
node->data=c;
node->next=NULL;
Q->rear->next=node;
Q->rear=node;
flag=1;

}

else
flag=0;
}

}
int DeleteQueue(LinkQueue *Q)
{
LinkQueue *q;
NodeQueue*p;
if(Q->front==Q->rear)
return 0;
q=Q;
while(q->front->next!=NULL)
{
p=q->front;
q->front=q->front->next;
printf("\n%d",q->front->data);
free(p);
}
return 1;
}
int main()
{
LinkQueue *Q;
Q=CreatLinkQueue();
EnterQueue(Q);
DeleteQueue(Q);
return 0;
}
改了你程序上的错误,
不过,你对进队和出队的理解似乎有些问题,
你写的这两个操作称为队列初始化和队列清空比较合适。
建议你再去看看数据结构书。

对不礼貌的女生收钱......
2007-01-03 12:23
没牙的狼
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-4-23
收藏
得分:0 

谢谢楼上的同学,看来我还要好好看看书了


2007-01-03 14:00
快速回复:[求助]关于进队出队问题
数据加载中...
 
   



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

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