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

相关推荐
景熙552328 分钟前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
wabs6666 小时前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
雨落在了我的手上7 小时前
Java数据结构(十四):Map和Set
数据结构
码行山野赴时序归途7 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
船厂电气自动化ai大模型9 小时前
AI大模型与数学|第81天 课程:正交向量、正交基、格拉姆‑施密特(Gram‑Schmidt)正交化
开发语言·数据结构·人工智能·线性代数·机器学习
库玛西10 小时前
数据结构与算法之美:树、森林与二叉树全解析
c语言·数据结构·笔记·考研·算法·学习方法
careathers10 小时前
【数据结构】队列
java·数据结构
Rabitebla11 小时前
【Linux系统编程】指令(三):创建、删除、复制、移动、看内容
linux·数据结构·c++·算法
我不会起名字32212 小时前
一天一道力扣Hot100(36):深度优先算法---组合总和
数据结构·c++·后端·python·算法·go
雨落在了我的手上13 小时前
Java数据结构(十五):哈希表
数据结构