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模拟

相关推荐
星原望野3 小时前
JAVA集合:List、Set和Map
java·开发语言·list·set·map·集合
流年如夢7 小时前
排序算法详解
数据结构·算法·排序算法
z200509308 小时前
今日算法(二叉树)
数据结构·c++·算法
故事和你919 小时前
洛谷-【图论2-2】最短路1
开发语言·数据结构·c++·算法·动态规划·图论
Simple-Soft9 小时前
指针的高级应用与技巧 - C语言的灵魂
c语言·数据结构·算法
Controller-Inversion9 小时前
23. 合并 K 个升序链表
数据结构·链表
Mr_pyx9 小时前
面试题记录
jvm·数据结构·算法·spring·mybatis
努力努力再努力wz10 小时前
【C++高阶数据结构系列】:时间轮定时器详解:原理分析与代码实现,带你从零手撕时间轮!(附时间轮的实现源码)
c语言·开发语言·数据结构·c++·qt·算法·ui
iiiiyu10 小时前
⾯向对象和集合编程题
java·大数据·开发语言·数据结构·编程语言