数据结构:单向链表系列7--交换相邻两个节点2(交换链域/指针域)
Posted passedbylove
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构:单向链表系列7--交换相邻两个节点2(交换链域/指针域)相关的知识,希望对你有一定的参考价值。
给定一个单向链表,编写函数交换相邻 两个元素
输入: 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(交换链域/指针域)的主要内容,如果未能解决你的问题,请参考以下文章