| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 228 人关注过本帖
标题:建立链表哪里出现问题了,求解,谢谢
收藏  订阅  推荐  打印 
henyue
Rank: 2
等级:注册会员
帖子:36
积分:586
注册:2006-6-3
建立链表哪里出现问题了,求解,谢谢

//建立双向循环链表                                                     
void create_d_list ( struct d_list **headp, int *p )                                                                                                                                                                  
{                                                               
   struct d_list *head = NULL, *tail;                              
   if( p[0] == 0 )                                                     
   *headp = NULL;                                                   
   else
   {                                                           
      head = ( struct d_list * ) malloc ( sizeof( struct d_list ) );            
      //head->data = *p++;   
      head->data = *p;                                             
      tail = head;
      printf("head->data=%d\n",head->data);                                                
      while( *p )
      {                                                      
         tail->next = ( struct d_list * ) malloc ( sizeof ( struct d_list ) );      
         tail->next->prior = tail;   
         //tail = head->prior; //                                    
         //tail = tail->next;   
         head = tail->next;    //                                         
         tail->data = *p++;                                                
      }
      printf("tail->data=%d\n",tail->data);                          
      tail->next = head;                                                
      head->prior = tail;                                             
   }                     
   *headp = head;                                                   
}

[ 本帖最后由 henyue 于 2008-8-15 15:49 编辑 ]
搜索更多相关主题的帖子: 链表  求解  list  headp  struct  
2008-8-15 15:25
殇雪
Rank: 1
等级:新手上路
帖子:9
积分:194
注册:2007-6-21

“while( *p )
      {                                                      
         tail->next = ( struct d_list * ) malloc ( sizeof ( struct d_list ) );      
         tail->next->prior = tail;   
         //tail = head->prior; //                                    
         //tail = tail->next;   
         head = tail->next;    //                                         
         tail->data = *p++;                                                
      }

把"   head = tail->next;    //                                         "  换成“tail=tail->next”  试下,      


另外,  while(*p)  这个判断法肯定有问题

2008-8-15 16:33
henyue
Rank: 2
等级:注册会员
帖子:36
积分:586
注册:2006-6-3

那应该怎么改呢,可以说下吗
2008-8-15 16:49
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.047152 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved