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

一、实验内容

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

二、实验步骤

1、dlinklist.cpp

2、reverse.cpp

三、实验结果

四、总结

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

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

相关推荐
心仪久了会沦陷9 小时前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
码少女10 小时前
数据结构——图的基础
数据结构
Severus_black12 小时前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list
二本咕咕-机械转码14 小时前
FreeRTOS深入解析(八)IPC机制之FromISR详解
数据结构·单片机·链表
1-1=016 小时前
C# 数据结构和特殊类型
数据结构·c#·.net·.netcore
希和202716 小时前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
布莱克6051 天前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
D e re k ZH1 天前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
zh_xuan1 天前
LeeCode 496. 下一个更大元素I
数据结构·算法·栈·单调栈
白杨尚青2 天前
C++进阶篇(五):红黑树——四条规则、三种插入情况与旋转变色
开发语言·数据结构·c++·stl·红黑树·平衡二叉树