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

一、实验内容

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

二、实验步骤

1、dlinklist.cpp

2、reverse.cpp

三、实验结果

四、总结

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

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

相关推荐
苏小瀚7 小时前
[数据结构] ArrayList(顺序表)与LinkedList(链表)
数据结构
Kevinhbr10 小时前
CSP-J/S IS COMING
数据结构·c++·算法
Armyyyyy丶11 小时前
Redis底层实现原理之五大基础结构
数据结构·redis·缓存
金古圣人11 小时前
hot100 滑动窗口
数据结构·c++·算法·leetcode·哈希算法
JJJJ_iii11 小时前
【左程云算法03】对数器&算法和数据结构大致分类
数据结构·算法·分类
天选之女wow15 小时前
【代码随想录算法训练营——Day4】链表——24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07.链表相交、142.环形链表II
数据结构·算法·leetcode·链表
胡萝卜3.015 小时前
数据结构初阶:树的相关性质总结
数据结构·二叉树·性质·二叉树的性质
KarrySmile15 小时前
Day12--HOT100--23. 合并 K 个升序链表,146. LRU 缓存,94. 二叉树的中序遍历
数据结构·链表·二叉树·递归·hot100·lru·灵茶山艾府
今后12321 小时前
【数据结构】带哨兵位双向循环链表
数据结构·链表
Lee嘉图21 小时前
数据结构——队列(Java)
数据结构