一、list概述
總的來說:環形雙向鏈表
特點:
底層是使用鏈表實現的,支持雙向順序訪問
在list中任何位置進行插入和刪除的速度都很快
不支持隨機訪問,為了訪問一個元素,必須遍歷整個容器
與其他容器相比,額外內存開銷大
設計目的:令容器在任何位置進行插入和刪除都很快
何時使用:
容器需要不斷地在中間插入或刪除元素
無論刪除還是增加,list的迭代器、引用、指針都不會失效
與其他容器的比較:
vector | 可變大小數組。支持快速隨機訪問。在尾部之外的位置插入或刪除元素可能很慢 |
deque | 雙端隊列。支持快速隨機訪問。在頭尾插入/刪除速度很快 |
list | 雙向鏈表。只支持雙向順序訪問。在list中任何位置進行插入和刪除的速度都很快 |
forward_list | 單向鏈表。只支持單向順序訪問。在鏈表任何位置進行插入和刪除操作速度都很快 |
array | 固定大小數組。支持快速隨機訪問。不能添加或刪除元素 |
string | 與vector相似的容器,但專門用于保存字符。隨機訪問快。在尾部插入或刪除速度快 |