C++ STL 标准库 std::list总结

C++ STL 标准库 std::list总结

  • 简介
  • 成员函数

简介

list 好处是常数空间插入和删除元素,但不支持快速随机访问, 通过双向链表实现. 定义在头文件 中, 属于容器.

template<
    class T,
    class Allocator = std::allocator<T>
> class list;

成员函数

这里有详细的参考
有一点需要注意, 在执行pop_front pop_back 等成员函数时, 需要先判断链表是否为空, 否则会发生UB(undefined behavior)行为

常用的成员函数如下:

Func Introduction
front/back 第一个和最后一个元素, 返回的是引用, 容器为空, UB
begin/end 指向起始和末尾的迭代器
rbegin/rend 指向起始和末尾的逆向迭代器
empty/size 是否为空/元素个数
clear 清空内容
isnert (iteartor pos, T& value) 在迭代器pos前加入 value, 注意该函数有多个重载, 具体查手册
emplace 类似insert 可以直接调用被插入元素的构造函数, 注意如何异常, 则什么也不做
erase 删除, 形参是对应删除目标位置的迭代器
push/emplace_back/front 头尾插入
pop_back/front 头尾删除, 空的时候 UB
merge 合并两个已排序链表
sort 排序链表中的元素
unique 对排好序的链表,删除重复元素

你可能感兴趣的:(C/C++,链表,c++,数据结构,stl)