list模拟实现

list的核心成员

一个指向哨兵头结点的指针,一个有效节点个数。其底层为带头双向循环链表,其链表节点有三个成员,其中一个值,是数据域,两个指针一前一后,是指针域

list的核心成员函数

构造函数:

默认构造,list中只有一个哨兵头结点,有效节点个数为零

填充构造,除哨兵头结点外还有n个有效节点,并赋值为val

拷贝构造,进行深拷贝

begin

返回第一个有效节点的迭代器

end

返回最后一个有效节点的下一个位置的迭代器,其实就是指向哨兵节点,因为是list是循环链表

size

返回有效节点个数

front

返回第一个有效节点里面的值的引用

back

返回最后一个有效节点里面值的引用

push_front

头插

pop_front

头删

push_back

尾插

pop_back

尾删

insert

在迭代器位置插入节点,返回插入节点的迭代器

erase

删除迭代器指向的节点,然后返回删除结点的下一个位置的迭代器

clear

清理有效节点

swap

交换两个list

list模拟实现

list模拟

相关推荐
Suxing95 分钟前
C语言基础分享:从“租房”到“拆迁”,C语言动态内存管理
java·数据结构·算法
LuminousCPP37 分钟前
单链表专题(四)-刷题复盘篇-LeetCode 138 随机链表复制|原地拷贝法突破复杂指针操作
数据结构·笔记·算法·leetcode·链表
逆境不可逃1 小时前
【LeetCode 912】排序数组——随机化快速排序详解
数据结构·算法·排序算法
c238561 小时前
《算法武林谱:四大排序神功与二分寻宝术全解》
数据结构·算法·排序算法
OpenApi.cc1 小时前
MoCode — AI Agent Server (Docker) + macOS Desktop Client(开源项目)
数据结构·人工智能·深度学习·神经网络
Mem0rin2 小时前
二分查找:左右边界
数据结构·算法
lazily-c2 小时前
数据结构模板
数据结构
祖力5510 小时前
数据结构的基本概念与单向链表(链表数据类型构造、创建、头插、尾插、头删、尾删)
数据结构·链表
白狐_79813 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander25813 小时前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法