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

相关推荐
琢磨先生David5 天前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
qq_454245035 天前
基于组件与行为的树状节点系统
数据结构·c#
超级大福宝5 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
岛雨QA5 天前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc5 天前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
wefg15 天前
【算法】单调栈和单调队列
数据结构·算法
岛雨QA5 天前
图「Java数据结构与算法学习笔记12」
数据结构·算法
czxyvX5 天前
020-C++之unordered容器
数据结构·c++
岛雨QA5 天前
多路查找树「Java数据结构与算法学习笔记11」
数据结构·算法
AKA__Zas5 天前
初识基本排序
java·数据结构·学习方法·排序