list将元素按顺序储存在链表中,与向量(vector)相比,它允许快速插入,删除,但是随机访问比较慢。
Member functions
- (constructor)
- Construct list (public member function) //构造链表, list<int > L;
- (destructor)
- List destructor (public member function)
- operator=
- Copy container content (public member function) //可以实现链表间的赋值 list<int > a,b
- a=b;
Iterators:
- begin
- Return iterator to beginning (public member function) //表头。 L.begin().
- end
- Return iterator to end (public member function) //表尾+1 L.end();
- rbegin
- Return reverse iterator to reverse beginning (public member function) //表尾 L.rbegin().
- rend
- Return reverse iterator to reverse end (public member function) //表头 L.rend();
Capacity:
- empty
- Test whether container is empty (public member function) //判断链表是否为空,是空返回真,反之
- size
- Return size (public member function) //返回链表大小
- max_size
- Return maximum size (public member function) //返回链表的最大可取值
- resize
- Change size (public member function) //重新调整链表大小
Element access:
- front
- Access first element (public member function) //取表头
- back
- Access last element (public member function) //取表尾
Modifiers:
- assign
- Assign new content to container (public member function) //分配长度,和值
- push_front
- Insert element at beginning (public member function) //在队头插入数据
- pop_front
- Delete first element (public member function) //弹出队头
- push_back
- Add element at the end (public member function) //在队尾插入
- pop_back
- Delete last element (public member function) //弹出队尾元素
- insert
- Insert elements (public member function) //插入元素
- erase
- Erase elements (public member function) //删除元素
- swap
- Swap content (public member function) //交换不同链表的长度和取值
- clear
- Clear content (public member function) //清空链表
Operations:
- splice
- Move elements from list to list (public member function) //实现链表见的合并
- remove
- Remove elements with specific value (public member function) //移除指定元素 list.remove(20);//移除链表里值为20的
- remove_if
-
Remove elements fulfilling condition (public member function template) //可以重载,移除指定范围的元素。bool
single_digit (const
int& value) {
return (value<10); } - list.remove_if(single_digit);
- unique
- Remove duplicate values (member function) //清除 链表里‘相同’的元素,这里的相同也可以实现重载。。如
-
bool same_integral_part (double first, double second) { return ( int(first)==int(second) ); }
list.unique(same_integral_part);
- merge
- Merge sorted lists (public member function) //合并两个链表,如果两个链表有序,合成的链表也有序,如果没序,l1链表后接l2
- sort
- Sort elements in container (public member function) //给聊表排序,同样可以重载。
- reverse
- Reverse the order of elements (public member function) //将链表翻转
Allocator:
- get_allocator
-
Get allocator (public member function)