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

一、实验内容

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

二、实验步骤

1、dlinklist.cpp

2、reverse.cpp

三、实验结果

四、总结

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

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

相关推荐
起个破名想半天了31 分钟前
算法与数据结构之Kruskal算法
数据结构
不会就选b10 小时前
算法日常・每日刷题--<链表>3
数据结构·算法·链表
稚南城才子,乌衣巷风流12 小时前
块状链表:数据结构详解与实现
数据结构·链表
日拱一卒——功不唐捐14 小时前
红黑树删除(C语言)
c语言·数据结构
不如语冰15 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
Angle.寻梦16 小时前
数据结构--链表
数据结构·链表
ykdcdc16 小时前
DC-DC隔离和非隔离怎么选?工控/监控/医疗分别用哪种
数据结构·汽车·推荐算法
Angle.寻梦17 小时前
数据结构--堆
数据结构
笨鸟先飞的橘猫20 小时前
redis数据结构学习——stream
数据结构·redis·学习
雨落在了我的手上20 小时前
Java数据结构(六):链表的介绍
java·开发语言·数据结构