东莞高端网站建设哪个好,软文怎么写比较吸引人,域名代理商,wordpress 不同page文章目录 引用头文件初始化赋值遍历 list 容器迭代器list 常用方法删除元素插入元素 合并列表 list 翻译为列表#xff0c;列表容器被实现为双向链表#xff0c;因此它提供了对其数据的双向顺序访问。
List 不提供快速随机访问#xff0c;它只支持双向顺序访问。 List 允许… 文章目录 引用头文件初始化赋值遍历 list 容器迭代器list 常用方法删除元素插入元素 合并列表 list 翻译为列表列表容器被实现为双向链表因此它提供了对其数据的双向顺序访问。
List 不提供快速随机访问它只支持双向顺序访问。 List 允许在恒定时间内在序列中的任何位置进行插入和删除操作。
零大小的列表也是有效的。 在这种情况下 list.begin() 和 list.end() 指向相同的位置。 但是调用 front() 或 back() 的行为是未定义的。
引用头文件
#include list初始化赋值
listint lis; // 初始化空列表
listint lis(5); // 初始化列表 5 个元素
listint lis(3,2); // 列表 初始化 3个2 : 2 2 2
listint lis( {3,2, 4} ); // 初始化 3 2 4
listint lis {1, 2, 3}; // 初始化 1 2 3
listint lis1(lis); // 初始化为 lis 中元素
listint lis1 {lis.begin(), lis.end()}; // 初始化为 lis 中元素遍历 list 容器
不支持索引遍历
for rang遍历
listint lis({3,2, 4});
for(int x : lis) {cout xendl;
}迭代器遍历
listint lis({3,2, 4});
for(auto it lis.begin(); it ! lis.end(); it) {cout*it endl;
}迭代器
list 容器迭代器只支持 -- 操作
list 常用方法
方法说明back() 返回对列表最后一个元素begin()返回一个随机访问迭代器它指向列表的第一个元素end()返回一个随机访问迭代器它指向列表的最后一个元素empty()测试列表是否为空erase(value)从列表中删除单个元素front()返回列表第一个元素insert(value)通过在容器中插入新元素来扩展列表merge(duq1)将两个排序列表合并为一个size()返回双端队列中存在的元素总数pop_back()从列表中删除最后一个元素pop_front()从列表中删除第一个元素push_back()在列表末尾插入新元素push_front()在列表首部插入新元素sort()自带对列表的元素进行排序的功能unique()从列表中删除所有连续的重复元素
删除元素
l.erase(l.begin()) 删除 l 的 首部元素l.erase(l.begin(), l.end()) 删除 l 首部到末尾的元素
listint l {1, 2, 3, 4, 5};
l.erase(l.begin(), l.end());插入元素
lis.insert(lis.end(), value) 在 lis 末尾插入 valuelis.insert(lis.end(), num, value) 在 lis 末尾插入 num 个 valuel1.insert(l1.begin(), l2.begin(), l2.end()); 在 l1 的首部 插入 l2 全部元素
listint l1 {3, 4, 5};
listint l2 {1, 2};l1.insert(l1.begin(), l2.begin(), l2.end());合并列表
l2.merge(l1) 将l1合并到l2并按照升序排列l2.merge(l1, cmp_fun) 将l1合并到l2根据 cmp_fun 排列 bool cmp_fun(int a, int b) {return a b;
}listint l1 {31, 11, 5, 1};
listint l2 {30, 20, 10};l2.merge(l1, cmp_fun);