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

一、实验内容

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

二、实验步骤

1、dlinklist.cpp

2、reverse.cpp

三、实验结果

四、总结

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

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

相关推荐
small_wh1te_coder4 小时前
从经典力扣题发掘DFS与记忆化搜索的本质 -从矩阵最长递增路径入手 一步步探究dfs思维优化与编程深度思考
c语言·数据结构·c++·stm32·算法·leetcode·深度优先
z人间防沉迷k5 小时前
堆(Heap)
开发语言·数据结构·笔记·python·算法
hy.z_7775 小时前
【数据结构】链表 LinkedList
java·数据结构·链表
ROCKY_8176 小时前
数据结构——例题3
数据结构
ROCKY_8176 小时前
数据结构——例题2
数据结构
Akiiiira6 小时前
【数据结构】队列
java·开发语言·数据结构
XiaoyaoCarter8 小时前
每日一道leetcode(新学数据结构版)
数据结构·c++·算法·leetcode·职场和发展·哈希算法·前缀树
晴空闲雲8 小时前
数据结构与算法-线性表-单链表(Linked List)
数据结构·算法·链表
freyazzr9 小时前
Leetcode刷题 | Day63_图论08_拓扑排序
数据结构·c++·算法·leetcode·图论
一梦浮华9 小时前
自学嵌入式 day 18 - 数据结构 1
数据结构