首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

在只能修改结点指针的前提下,怎么对链表进行排序

2012-04-09 
在只能修改结点指针的前提下,如何对链表进行排序?在只能修改结点指针的前提下,如何对链表进行排序?谢谢![

在只能修改结点指针的前提下,如何对链表进行排序?
在只能修改结点指针的前提下,如何对链表进行排序?谢谢!

[解决办法]
交换指针即可
[解决办法]
至少可以冒泡嘛。
冒泡排序的基本动作是比较并交换相领元素,对于链表中的相邻元素,比较和交换都不难。
相对于数组,唯一不同的是,数组使用下标来计算每一趟交换结束时的位置,而链表需要用一个指针来标记。

另外,楼主的问题也有点怪,从一般意义上讲,链表的排序都是指基于修改指针的排序,那种指针不变仅通过换值来实现的排序才是“奇技淫巧”呢,而且可能效率低,特殊情况下甚至“不可行”(比如在C++语言中而且结点里面保存的是不可拷贝对象的情况下)。

热点排行