STL中list详解

原创 2018年04月16日 20:11:32

参考: STL中list详解

实际上,list容器就是一个双向链表,可以高效地进行插入删除元素。

1、默认构造:

std::list<int> first;  // empty list of ints


2、返回迭代器类的函数:

正向迭代器  std::list::begin	std::list::end
反向迭代器  std::list::rbegin	std::list::rend


3、list的容量相关函数

std::list::empty      bool empty() const noexcept;   //判空;
std::list::size	    size_type size() const noexcept;  //返回容器的大小;
void resize (size_type n);  //如果n<容器当前的size,则将容器的size调整为n,只保留前n个值


4、修改lsit的函数

push_back:

std::list::push_back   	void push_back (const value_type& val);  //从尾部增加一个元素,size()+1;
std::list::push_front   void push_front (const value_type& val);  //从头部增加一个元素,size()+1;
std::list::pop_front	void pop_front();    //删除第一个元素,size()-1;
std::list::pop_back	void pop_back();    //删除最后一个元素,size()-1;

insert:

single element (1): iterator insert (iterator position, const value_type& val);
fill (2):   void insert (iterator position, size_type n, const value_type& val);
range (3): template <class InputIterator> void insert (iterator position, InputIterator first, InputIterator last);

erase:

iterator erase (const_iterator position);
iterator erase (const_iterator first, const_iterator last);

clear:

void clear() noexcept;  //产出所有元素,并且将size置零


5、操作类函数

sort:

void sort();   //将元素非减排序;
template <class Compare> void sort (Compare comp);  //按照comp的规则进行排序;

remove:

void remove (const value_type& val);  //删除只为val的元素,将size减掉元素值等于val的数量;





版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/baidu_35679960/article/details/79965374

stl list 详解

  • 2011年11月14日 23:05
  • 24KB
  • 下载

C++ list详解

  • 2014年02月12日 17:42
  • 173KB
  • 下载

STL List::sort() 解析

看侯捷翻译那本《STL源码剖析》中list内置sort的算法,书中注释说是quick sort,看了半天没看明白, 然后就把代码敲出来运行看看,上面的源码如下: template ...
  • lijun5635
  • lijun5635
  • 2014-04-17 22:10:17
  • 6968

带你深入理解STL之List容器

上一篇博客中介绍的vector和数组类似,它拥有一段连续的内存空间,并且起始地址不变,很好的支持了随机存取,但由于是连续空间,所以在中间进行插入、删除等操作时都造成了内存块的拷贝和移动,另外在内存空间...
  • terence1212
  • terence1212
  • 2016-08-24 17:29:27
  • 3156

C++ STL list介绍与使用方法

list(链表)链表也即链式表,在数据结构中,我们知道线性表的物理存储结构有两种,顺序表(数组)和链式表(结点)。链表是在堆中为每一个元素分配内存,然后利用指针将所有元素串起来。根据这种物理存储结构,...
  • Cypress1010
  • Cypress1010
  • 2016-12-15 13:34:14
  • 2504

STL中list用法详解

本文转载自百度文库。作者如下。其中下面的count, count_if等函数的使用有些陈旧,如在编译时遇到问题,请百度。 标准模板库(STL)介绍   作者:Scott Field   本文...
  • liujiayu2
  • liujiayu2
  • 2015-03-10 14:51:38
  • 944

STL中vector、list、deque的区别

1 vector     向量 相当于一个数组     在内存中分配一块连续的内存空间进行存储。支持不指定vector大小的存储。STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即...
  • luliyuan
  • luliyuan
  • 2014-04-02 11:12:16
  • 2338

STL中map用法详解 STL中map用法详解

  • 2010年04月03日 00:06
  • 126KB
  • 下载

STL中map用法详解.rar

  • 2009年10月28日 12:25
  • 16KB
  • 下载

STL中map用法详解 STL中map用法详解 STL中map用法详解

  • 2011年07月07日 11:20
  • 96KB
  • 下载
收藏助手
不良信息举报
您举报文章:STL中list详解
举报原因:
原因补充:

(最多只允许输入30个字)