码迷,mamicode.com
首页 > 其他好文 > 详细

学习STL -- 列表list

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

标签:stl

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

标签:stl

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

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