简介
List是一种可在常数时间内在任何位置执行插入和删除操作的顺序容器。list是双向链表,其迭代器是双向的。与其他顺序容器(array, vector, deque)相比,list容器在任意位置执行插入、提取、和移动元素的操作更高效,但它不能通过在容器中的位置直接获取元素。
成员函数
复制控制
list::list()
构造函数:构造一个新的list对象,根据参数初始化list容器的内容。
list::~list()
析构函数:销毁以list对象。
list::operator=
为容器分配新的内容,代替当前的内容,随之修改其大小。
示例代码
- #include<iostream>
- #include<list>
- using namespace std;
- void
- print(list<int> l)
- {
- for(list<int>::iterator it = l.begin(); it != l.end(); ++it)
- {
- cout << *it << "";
- }
- cout << endl;
- }
- int
- main(void)
- {
- // list::list()
- list<int> first;
- list<int> second(5, 10);
- list<int> third(second.begin(), second.end());
- list<int> fourth(third);
- int arr[] = {1, 2, 3, 4, 5};
- list<int> fifth(arr, arr + sizeof(arr)/sizeof(int));
- print(second);
- print(third);
- print(fourth);
- print(fifth);
- // list::operator=
- first = fifth;
- print(first);
- return(0);
- }
Iterator
list::begin()
返回一个迭代器,指向list的第一个元素。返回值类型:iterator/const_iterator。
list::end()
返回一个迭代器,指向list的最后一个元素的下一个位置。返回值类型:iterator/const_iterator。
list::rbegin()
返回一个反转迭代器,指向list的最后一个元素。返回值类型:reverse_iterator/reverse_const_iterator。
list::rend()
返回一个反转迭代器,指向list的第一个元素的前一个位置。返回值类型:reverse_iterator/reverse_const_iterator。
list::cbegin()
begin()的const版本。
list::cend()
end()的const版本
list::crbegin()
rbegin()的cosnt版本。
list::crend()
rend()的const版本。
示例代码
- #include <iostream>
- #include <list>
- using namespace std;
- int
- main(void)
- {
- int arr[] = {1, 2, 3, 4, 5};
- list<int> l(arr, arr + sizeof(arr)/sizeof(int));
- // list::begin end