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

一、实验内容

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

二、实验步骤

1、dlinklist.cpp

2、reverse.cpp

三、实验结果

四、总结

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

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

相关推荐
琢磨先生David4 天前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
qq_454245034 天前
基于组件与行为的树状节点系统
数据结构·c#
超级大福宝4 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
岛雨QA4 天前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc4 天前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
wefg14 天前
【算法】单调栈和单调队列
数据结构·算法
岛雨QA4 天前
图「Java数据结构与算法学习笔记12」
数据结构·算法
czxyvX4 天前
020-C++之unordered容器
数据结构·c++
岛雨QA4 天前
多路查找树「Java数据结构与算法学习笔记11」
数据结构·算法
AKA__Zas4 天前
初识基本排序
java·数据结构·学习方法·排序