參考: 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的數量;