| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 930 人关注过本帖
标题:请帮忙看看这个错在哪里.想把链表里的顺序颠倒过来,即1->2->3->4 变成4->3 ...
只看楼主 加入收藏
ian116
Rank: 1
等 级:新手上路
帖 子:28
专家分:2
注 册:2009-5-15
结帖率:85.71%
收藏
 问题点数:0 回复次数:6 
请帮忙看看这个错在哪里.想把链表里的顺序颠倒过来,即1->2->3->4 变成4->3->2->1.
MailNode *reverse(MailNode *messageList,int mailnum)
{
  int i;
  MailNode *templist;
  MailNode *temp;
  MailNode *tempre;  
  for (temp=messageList;temp->next!=NULL;temp=temp->next);
    templist=temp;  
    tempre=templist;
  for (i=0;i<mailnum;i++){
    tempre=temp;
    temp=temp->revNext;
    tempre=tempre->next;   
  }
  free(messageList);
    messageList=templist;
  return messageList;
}




main:
      messageList=reverse(messageList,mailnum);
搜索更多相关主题的帖子: 表里 顺序 
2009-10-12 20:10
xiaoqing8731
Rank: 2
等 级:论坛游民
帖 子:23
专家分:32
注 册:2009-10-9
收藏
得分:0 
错误很多啊   你那样编写首先算法   或是逻辑都不正确
自己再想想  换个思路
2009-10-12 20:21
ian116
Rank: 1
等 级:新手上路
帖 子:28
专家分:2
注 册:2009-5-15
收藏
得分:0 
摆脱,那错了,换什么思路,请说明白点啊。就是想了好久都想不出来才上来问的
2009-10-12 20:23
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
从表头开始到表尾NULL;
MailNode *reverse(MailNode *messageList,int mailnum)
{
  int i;
  MailNode *next = NULL;
  MailNode *temp = messageList;
  MailNode *rev = NULL;  
 while(temp != NULL)
{
    next = temp->next;  //把temp的下一个节点保存起来
    temp->next = rev;//将本节点的next指针指向前面已经反转链表的表头
    rev = temp;//表头变为当前的指针
    temp = next;//移动指针到下一个。
}
return rev;
}
逻辑比较混乱,还是看看数据结构的书。

要练习算法就来http:///!!有挑战哦!!
2009-10-12 21:40
ian116
Rank: 1
等 级:新手上路
帖 子:28
专家分:2
注 册:2009-5-15
收藏
得分:0 
回复 4楼 viky2003
等你等的好苦啊
呵呵,好的。不过有什么这方面的好书推荐一下么?
2009-10-12 22:21
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
多的是,清华的数据结果,那个叫什么的,我忘了。你网上搜索就知道了

要练习算法就来http:///!!有挑战哦!!
2009-10-12 22:34
骓鲟
Rank: 2
等 级:论坛游民
帖 子:31
专家分:19
注 册:2009-6-17
收藏
得分:0 
回复 4楼 viky2003
MailNode *reverse(MailNode *messageList)
{
  MailNode *temp = messageList;
  MailNode *rev = NULL;  
for(temp=messageList;temp->next!=NULL;temp=temp->next)
{rev=temp,temp->next->temp,rev->temp->next;
}
return rev;
}
不知行不,帮忙指引一下
2009-10-13 15:05
快速回复:请帮忙看看这个错在哪里.想把链表里的顺序颠倒过来,即1->2->3->4 变成 ...
数据加载中...
 
   



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

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