码迷,mamicode.com
首页 > 编程语言 > 详细

C++STL list

时间:2018-09-13 10:19:24      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:位置   nbsp   容器   back   ase   ack   ras   clear   开始   

list双向链表

高效进行插入删除数据

不可以随机存取元素,所以不支持at()和[]操作符。it可以++  --,不能it+5

节点序号从0开始

list<int> l;

l.push_back(1);//尾插法

it++;

it++;

l.inserrt(it,100);//在2号位置插入元素,原来的2号位置往后移

删除

list.clear();//删除所有元素

list.erase(beg,end);//删除区间[beg,end)内的数据(左闭右开区间),返回下一个数据的位置,

list.erase(beg,beg+3);//删除的是0、1、2三个元素

list.erase(pos);//删除pos位置的数据,返回下一个数据的位置

list.remove(elem);//删除容器中所有与elem值匹配的元素

 

 

结论

1.链表的节点序号是从0开始的,在2号位置插入元素,是让原来的2号变成3号,原来的3号变成4号

2.erase删除区间元素是左闭右开区间,list.erase(beg,beg+3);//删除的是0、1、2三个元素

 

C++STL list

标签:位置   nbsp   容器   back   ase   ack   ras   clear   开始   

原文地址:https://www.cnblogs.com/smh2015/p/9638565.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!