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

一、实验内容

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

二、实验步骤

1、dlinklist.cpp

2、reverse.cpp

三、实验结果

四、总结

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

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

相关推荐
liebe1*14 小时前
C语言程序代码(四)
c语言·数据结构·算法
进击的圆儿4 小时前
递归专题4 - 网格DFS与回溯
数据结构·算法·递归回溯
寂静山林6 小时前
UVa 1597 Searching the Web
数据结构·算法
952367 小时前
数据结构-顺序表
java·数据结构·学习
haofafa7 小时前
高精度加减法
java·数据结构·算法
QQ12958455049 小时前
ThingsBoard部件数据结构解析
数据结构·数据库·物联网·iot
chian-ocean9 小时前
双向链表的“链”与“殇”——Rust LinkedList 的深度剖析、实战与再思考
数据结构·链表·rust
岑梓铭10 小时前
《考研408数据结构》第七章(6.1~6.3图的概念、存储方式、深/广度遍历)复习笔记
数据结构·笔记·考研·算法·图论·408·ds
qq_4335545410 小时前
C++ 单调栈
数据结构·c++·算法
向前阿、10 小时前
数据结构从基础到实战——排序
c语言·开发语言·数据结构·程序人生·算法