| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1993 人关注过本帖
标题:[讨论]如何交换链表中的两个结构元素
只看楼主 加入收藏
handsome303
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-2-28
收藏
 问题点数:0 回复次数:7 
[讨论]如何交换链表中的两个结构元素
大家说说看,交流想法!

[此贴子已经被作者于2006-6-28 2:07:14编辑过]


搜索更多相关主题的帖子: 链表 元素 结构 交流 
2006-06-28 01:39
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

什么想法
直接
temp=first;
first=second;
second=temp;


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-28 08:26
handsome303
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-2-28
收藏
得分:0 
song4哥,这样好像是地址交换 ,实际的链表顺序并没有发生变化啊!first前面的元素仍然指向first原来的地址,即交换后的second地址啊!是不是?不知道有没有错。
2006-06-28 09:33
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

我这个是内容拷贝啊


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-29 10:34
handsome303
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-2-28
收藏
得分:0 
如果对链表排序,内容拷贝不太好吧,那应该用什么方法啊?
2006-06-29 17:02
片风
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-11-24
收藏
得分:0 
temp=*first;
*first=*second;
*second=temp;

这个呢?
2006-06-29 18:15
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
有什么不好?
你不是只对他的信息关心么
除非你对下面用地址操作

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-30 09:36
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 
一般用改变链接的方法,假如要交还ptr1节点和ptr2节点的位置,如果链表是单向的,那么直接把ptr1前一个节点的next指针指向ptr2,而ptr1的next指针指向ptr2的下一个节点,再把ptr2的next指针指向ptr1,如:
链表顺序:ptr0->ptr1->ptr2->ptr3
现在要交换ptr1和ptr2
ptr0->next = ptr2;
ptr1->next = ptr2->next;
ptr2->next = ptr1;

如果链表是双向的,那么还要修改pre指针
如果你们学过数据结构就会清楚了,这是数据结构中的基础知识

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-06-30 09:55
快速回复:[讨论]如何交换链表中的两个结构元素
数据加载中...
 
   



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

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