数据结构与算法 双链表的转置

一、实验内容

有一个带头结点的双链表L,设计一个算法将其所有元素逆置,即第一个元素变为最后一个元素,第2个元素变为倒数第2个元素,最后一个元素变为第1个元素。

二、实验步骤

1、dlinklist.cpp

2、reverse.cpp

三、实验结果

四、总结

1、实现双链表转置的算法,按个人理解是,将原双链表的头结点与后面的结点分开,将后面的结点逐个用头插的方法插到只含头结点的双链表中。

2、第二种方法,将头结点与后面结点断开,找到后面结点的最后一个结点,使用尾插法插入到只含头结点的双链表中也能实现链表的转置(缺点:严重增加算法的复杂度,增加cpu的负担,算法的速度变慢)

相关推荐
圈圈编码33 分钟前
LeetCode Hot100刷题——合并两个有序链表
java·数据结构·算法·leetcode·链表
jingfeng5142 小时前
详解快排的四种方式
数据结构·算法·排序算法
蒙奇D索大4 小时前
【数据结构】图论最短路径算法深度解析:从BFS基础到全算法综述
数据结构·算法·图论·广度优先·图搜索算法
AL流云。8 小时前
【优选算法】分治
数据结构·算法·leetcode·排序算法
行驶9 小时前
数据结构 - 栈与队列
数据结构
haoly19899 小时前
数据结构篇--分离链表vs线性探测
数据结构
小贾要学习9 小时前
【数据结构】AVL树的实现
数据结构
andyweike9 小时前
数据结构-文件
数据结构
andyweike9 小时前
数据结构-线性表
数据结构
思捻如枫18 小时前
C++数据结构和算法代码模板总结——算法部分
数据结构·c++