| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 517 人关注过本帖
标题:双向链表建立出错……高手指点一下
只看楼主 加入收藏
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
结帖率:94.12%
收藏
已结贴  问题点数:5 回复次数:6 
双向链表建立出错……高手指点一下
程序代码:
struct Node   
{  
    int Data;  
    struct Node *prior;  
    struct Node *next;  
}Node,*Linklist;
Linklist create(Linklist p)  
{   Linklist head,p,q;
    int x;
    head =(Node *)malloc(sizeof(Node));  
    head->prior = NULL;  
    head->next = NULL;
    q=head;    
    scanf("%d",&x);
    while(x!=0)
    {
       p=(Node *)malloc(sizeof(Node)); 
       p->Data=x;  
       p->prior=q;  
       p->next=NULL;  
       q->next=p;  
       q=p;
       scanf("%d",&x);  
     }
     q->next=NULL; 
    return head;   
}
搜索更多相关主题的帖子: 链表 
2010-04-03 19:29
ggvvcc
Rank: 3Rank: 3
来 自:山东临沂
等 级:论坛游侠
帖 子:50
专家分:119
注 册:2010-4-3
收藏
得分:1 
貌似倒数第二句应该是p->next = NULL,假设下一次输入x的值为0,那么在最后一次循环中你给q->next赋值p,而在倒数第二句又把它赋值为NULL,结果把前一次的赋值覆盖了。
2010-04-03 19:42
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
收藏
得分:0 
楼上的,不好意思啊,其实两种都是对的,因为后面有q=p;这句,是我有的地方写错了,算法没有问题,不过仍然很谢谢你!
2010-04-03 21:52
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
收藏
得分:0 
typedef struct Node   
{   
    int data;   
    struct Node *prior,*next;
}Node,*Linklist;
Linklist create(Linklist p)   
{
 Linklist head,q;
 int x;
 head =(Node *)malloc(sizeof(Node));   
 head->prior = NULL;   
 head->next = NULL;
 q=head;     
 scanf("%d",&x);
 while(x!=0)
  {
     p=(Node *)malloc(sizeof(Node));  
     p->data=x;   
     p->prior=q;   
     p->next=NULL;   
     q->next=p;   
     q=p;
     scanf("%d",&x);   
   }
  q->next=NULL;  
  return head;   
}


这是运行后的代码
2010-04-03 21:52
hzz063
Rank: 3Rank: 3
来 自:横县百合
等 级:论坛游侠
帖 子:80
专家分:114
注 册:2010-1-27
收藏
得分:3 
Linklist create(Linklist p)  //一般你初始化,不用传参,你返回指针了,但也没什么问题。
{   Linklist head,p,q;      //这里你重复定义了p

你自己都发现问题了在那了,是吧。
   

一切只因为喜欢。
2010-04-03 22:57
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
收藏
得分:0 
是啊,有点大意了
2010-04-04 10:03
zhangbohtz
Rank: 2
等 级:论坛游民
帖 子:36
专家分:39
注 册:2010-1-29
收藏
得分:1 
。。。。
不想说什?
大意的程序是大家开始常范的!
2010-04-04 16:11
快速回复:双向链表建立出错……高手指点一下
数据加载中...
 
   



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

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