list,即俗称的双向链表,通过前向指针和后向指针将所有元素联系在一起。
list实现了在任意位置插入、移动和删除元素的高效;但是对于元素的随机访问则无能为力。
使用size()可以知道list中已经存放的元素个数,max_size()可以知道可存放元素的最大个数。resize(size_type)可以来调整list的大小。empty()可以用来查看list是否为空。
front()和back()分别返回list中第一个和最后一个元素。
push_back(const T&)和pop_back()可以在最后一个位置之后插入或者删除元素,push_front(const T&)和pop_front()可以在第一个位置之前插入或者删除元素,insert(iterator position, const T& x)和erase(iterator position)可以来插入或者删除任意位置的元素,clear()可以清空整个list的元素。
begin()和end()分别返回指向第一个元素和最后一个元素之后位置(past-the-end)的迭代器,rbegin()和rend()分别返回反向的指向最后一个元素和第一个元素之前元素的迭代器。
swap()可以与另外一个list的所有元素进行交换。
splice( iterator , list<T,Allocator>& x)可以将list x插入到指定位置。
remove ( const T& value )可以删除包含给定value的元素;remove_if ( Predicate pred )可以删除符合给定语义规则的元素。
unique()可以删除重复的元素。
sort()可以对list里面的元素进行排序。另外,list不支持STL的排序算法sort。
reverse()可以得到一个反序的list。