常用函数
list <int > List;
list <int > List(count);
list <int > List(count, info);
list <int > List(List2);
list <int > List(List2.begin(),List2.end());
assign 分配值
1. L1. assign ( 4 ,3 );
2. L1. assign( ++list1.beging(), list2.end());
front 返回第一个元素的引用
back 返回最后一元素的引用
begin 返回第一个元素的指针(iterator)
end 返回最后一个元素的下一位置的指针
rbegin 返回反向链表的第一个元素(**reverse_iterator** or const )
rend 返回 相当于反向链表的end (reverse_iterator)
push_back 增加一元素到链表尾
push_front 增加一元素到链表头
pop_back 删除链表尾的一个元素
pop_front 删除链表头的一元素
clear 删除所有元素
erase 删除一个元素或一个区域的元素(两个重载)
remove 删除链表中匹配值的元素(匹配元素全部删除)
remove_if 删除条件满足的元素(遍历一次链表),参数为自定义的回调函数
empty 判断是否链表为空
max_size 返回链表最大可能长度
size 返回链表中元素个数
resize 重新定义链表长度(两重载函数)
1. void resize (size_type n);
2. void resize (size_type n, const value_type& val);
reverse 反转链表
sort 对链表排序,默认升序
merge 合并两个有序链表并使之有序
splice 对两个链表进行结合(三个重载函数) 结合后第二个链表清空
1. mylist1.splice (it, mylist2);
2. mylist2.splice (mylist2.begin(),mylist1, it);
3. mylist1.splice ( mylist1.begin(), mylist1, it, mylist1.end());
insert 在指定位置插入一个或多个元素(三个重载函数)
1. iterator insert (iterator position, const value_type& val);
2. void insert (iterator position, size_type n, const value_type& val);
3. template <class InputIterator>
void insert (iterator position, InputIterator first, InputIterator last);
swap 交换两个链表
1. void swap (list & x);
unique 删除相邻重复元素