我们已经学习过 string 和 vector 了,想必大家已经把握了查文档的本领
如今我们去学习如何使用 list ,最好仍旧打开文档去学习
list - C++ Reference
① list 是一个顺序容器
允许在恣意位置进行 O(1) 插入和删除的顺序容器,并提供双向迭代器 ② list 底层是双向链表
双向链表中每个元素存储在互不相关的独立结点中,在结点中通过两个指针指向其前后元素 ③ list 与 forward_list 非常相似
最大的不同就是 forward_list 是单链表,只能向前迭代 ④ 与其他序列式容器相比(array,vector,deque)
list 通常在恣意位置进行插入、删除元素的效率更高,由于是 O(1)
list 和 forward_list 最大的缺陷是不支持随机位置的随机访问 举个例子:
如果要访问 list 中的第六个元素,必须从已知位置(如头部或尾部)迭代到该位置
在这段位置上迭代需要线性时间的时间开销,同时,list 还需要一些额外空间
以保存每个结点的相关联信息
02 创建 list