码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构:单向链表系列7--交换相邻两个节点2(交换链域/指针域)

时间:2019-08-31 17:44:48      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:一个   语言   geek   list   nbsp   元素   方法   --   c语言   

 

给定一个单向链表,编写函数交换相邻 两个元素

输入: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7

输出: 2 -> 1 -> 4 -> 3 -> 6 -> 5 -> 7

 

输入: 1 -> 2 -> 3 -> 4 -> 5 -> 6

输出: 2 -> 1 -> 4 -> 3 -> 6 -> 5

通过观察发现:当输入的与元素个数是单数的时候,最后一位不参与交换。 

当链表节点中的数据字段不多的时候我们可以交换数据域的指针来实现相邻两个节点的交换

当数据域太多时操作成本将非常昂贵,该情形下,更改链域(指针域)将是一个更好的解决方法。

以下是代码的实现:

c语言:

 

来源:https://www.geeksforgeeks.org/pairwise-swap-elements-of-a-given-linked-list-by-changing-links/

数据结构:单向链表系列7--交换相邻两个节点2(交换链域/指针域)

标签:一个   语言   geek   list   nbsp   元素   方法   --   c语言   

原文地址:https://www.cnblogs.com/passedbylove/p/11439541.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!