功能:将数据进行链式存储 链表的组成:由一系列节点组成 节点的组成:由数据域和指针域组成 STL中的链表是一个双向循环链表 下图为一个双向链表,并未产生循环:
因为链表的存储不是连续的内存空间,因此链表中的迭代器只支持前移和后移(无法实现begin()+2,+3…操作),属于双向迭代器
list有一个重要性质,插入操作和删除操作都不会造成原有list容器失效,这在vector是不成立的,因为当所要输入数据大于vector容量的时候,vector容器会开辟一块更大空间来存放,之前的容器失效
list和数组相比的优缺点:
总结:list和vector是最常用的容器,两者各有优缺点