STL中list详解

参考: 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的数量;





猜你喜欢

转载自blog.csdn.net/baidu_35679960/article/details/79965374