首页 > 其他 > 详细

学习STL -- 列表list

时间:2015-07-26 17:25:25      阅读:236      评论:0      收藏:0      [点我收藏+]

Vector容器提供了对元素的快速随机访问,但是付出的代价是在其任意位置插入和删除元素,比在容器尾部插入和删除的开销更大。与vector相比,list容器可以在任何位置快速插入和删除,但是付出的代价是元素的随机访问开销更大。

采用list的结构实现容器的基本操作与vector容器类似。list 容器与vector 容器有很多相同的接口,像 push_back()、insert()、end()、erase()等。但是list容器不支持随机访问,所以没有下标操作符。

list 相对 vector 的新增加的部分接口:

(1)push_front

在列表的第一个元素前插入新元素

void
      push_front(const value_type& __x)
      { this->_M_insert(begin(), __x); }

(2)pop_front

删除列表的第一个元素

void

      pop_front()

      { this->_M_erase(begin()); }

(3)remove             

删除所有值为 _value的元素

void

      remove(const _Tp& __value);


(4)unique              

删除所有相邻的相同元素,只保留一个

void

      unique();


(5)merge               

与有序列表 _x 求并集,构成新的有序列表,原列表应为有序列表

void

      merge(list& __x);


(6)reverse             

将所有的元素次序倒置

void

      reverse()

      { this->_M_impl._M_node.reverse(); }


(7)merge               

将所有元素按照从小到大的次序排列

void

      sort();


 


版权声明:本文为博主原创文章,未经博主允许不得转载。

学习STL -- 列表list

原文:http://blog.csdn.net/liuruiqun/article/details/47068965

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!