
C++STL容器----List
发布日期:2021-05-07 22:56:05
浏览次数:12
分类:精选文章
本文共 1587 字,大约阅读时间需要 5 分钟。
概念
List底层就是一个双向带头循环链表,与vector相比,List的插入与删除更加方便,只需要O(1)的时间复杂度,但是缺点也很明显,就是不能像vector一样支持随机访问。所以在使用时要根据实际情况进行选择。
创建一个List
使用List要包含头文件 <List>
List共有4种构造函数。#includeint main(){ List l1;//无参构造,存储类型为int型 List l2(n, val);//初始化n个val值存放在l2中 int arr[4] = {0,1,2,3}; List l3(arr, arr + 4);//迭代器构造 List l4(l3)//拷贝构造 return 0;}
List访问方式
List有有两种访问方式:
第一种,范围for循环#include#include
using namespace std;int main(){ int arr[4] = {0,1,2,3}; List l3(arr, arr + 4);//迭代器构造 for(int num : l3){ cout << num << " "; } cout << endl; return 0;}
第二种,迭代器访问
#include#include
using namespace std;int main(){ int arr[4] = {0,1,2,3}; List l3(arr, arr + 4);//迭代器构造 List ::iterator it = l3.begin(); while(it != l3.end()){ cout << *it << " "; it++; } cout << endl; return 0;}
List常见接口
迭代器接口:
#includeint main(){ List l1;//无参构造 //l1.begin();返回l1的第一个元素的迭代器 //l1.end();返回最后一个元素的next域 //l1.rbegin();返回最后一个元素的迭代器 //l1.rend();返回第一个元素的prev域 return 0;}
空间相关接口:
#includeint main(){ List l1;//无参构造 //l1.empty();//判断l1是否为空 //l1.size();//返回l1有效元素个数 return 0;}
增删查改接口:
#includeint main(){ List l1;//无参构造 //l1.push_back(val);尾插val数据 //l1.push_front(val);头插val数据 //l1.pop_back();尾删一个数据 //l1.pos_front();头删一个数据 //l1.insert(pos, val);在pos位置前面插入val数据 //l1.erase(pos);删除pos位置数据 List l2(n, val);//初始化n个val值存放在l2中 //l1.swap(l2);//交换l1与l2的内容 //l1.clear();清除l1所有有效数据 return 0;}
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月11日 06时22分52秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
android 头像选择,裁剪全套解决方案,你值得拥有!
2019-03-05
MapReduce
2019-03-05
springboot swagger2
2019-03-05
shell(十)case的几个典型应用
2019-03-05
Linux环境变量配置错误导致命令不能使用(杂谈)
2019-03-05
openstack安装(六)镜像glance服务安装
2019-03-05
openstack安装(九)网络服务的安装--控制节点
2019-03-05
shell编程(六)语言编码规范之(变量)
2019-03-05
linux杂谈之特殊字符的打印和在各种软件如何打出
2019-03-05
vim杂谈(三)之配色方案
2019-03-05
vim杂谈(五)之vim不加载~/.vimrc
2019-03-05
Linux杂谈之终端快捷键
2019-03-05
vimscript学习笔记(二)预备知识
2019-03-05
vimscript学习笔记(三)信息打印
2019-03-05
awk杂谈之数组习题
2019-03-05
Linux网络属性配置详解
2019-03-05
Python(三十)类的理解
2019-03-05
Extjs布局详解
2019-03-05
Android数据库
2019-03-05