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