详解list容器

-- TOC --

C++中的list是双向链表结构(doubly linked list)的顺序容器

list容器特点

参考:https://en.cppreference.com/w/cpp/container/list

双向链表的存储结构,决定了它的特性:

list容器接口

empty
size
clear
//
front    // 第1个对象
back     // 最后1个对象
// iterator
begin
cbegin
rbegin
crbegin
end
cend
rend
crend
//
max_size   // 可能的最大对象数量
//
insert
emplace
erase
push_back
emplace_back
pop_back
push_front
emplace_front
pop_front
resize
swap
assign
//
reverse   // 把list中对象反过来,不管是否有序
sort
merge
unique    // 去掉连续的重复对象
splice    // 拼接两个list容器中的对象
remove
remove_if

sort

std::sort(https://en.cppreference.com/w/cpp/algorithm/sort)存在的情况下,list容器定义了自己的sort接口,因为前者只能处理可以进行随机位置访问(random access)的容器。

merge

同样std::merge不能用在list上,因此list容器自己定义一个。将两个已经sorted的list容器,合并成一个sorted list。

C++的merge接口,都是处理已排好序的对象。

本文链接:https://cs.pynote.net/sf/c/cpp/202211271/

-- EOF --

-- MORE --