当前位置: 首页 > wzjs >正文

金坛常州做网站职业技能培训机构

金坛常州做网站,职业技能培训机构,策划咨询,鄂州吧区别 特性vectorlist底层实现动态数组双向链表内存分配连续内存块非连续内存块随机访问支持,通过索引访问,时间复杂度O(1)不支持,需遍历,时间复杂度O(n)插入/删除末尾操作效率高,时间复杂度O(1)任意位置操作效率高&am…

区别

特性vectorlist
底层实现动态数组双向链表
内存分配连续内存块非连续内存块
随机访问支持,通过索引访问,时间复杂度O(1)不支持,需遍历,时间复杂度O(n)
插入/删除末尾操作效率高,时间复杂度O(1)任意位置操作效率高,时间复杂度O(1)
内存开销较低较高,需要额外存储指针
迭代器稳定性插入/删除迭代器会失效插入/删除迭代器不会失效

使用场景

使用vector的场景

1.需要频繁随机访问元素。
2.数据量较大且内存连续性有助于性能优化。
3.插入和删除操作主要集中在容器末尾。

使用list的场景

1.需要频繁在中间插入或者删除元素。
2.数据量较小,内存开销不是主要考虑因素。
3.不需要随机访问,仅需顺序遍历。

示例代码

vector的常用方法

  1. 初始化
std::vector<int> vec ={1,2,3};
std::vector<int> vec2(10,0);//初始化大小为10,所有元素为0

2.添加元素

vec.push_back(4);//在尾部添加元素
vec.insert(vec.begin()+1,10);//在指定位置插入一个或多个元素。
vec.emplace_back(5);//在末尾直接构造元素,避免不必要的拷贝
vec.emplace(vec.begin() + 1, 5, 6); // 指定位置直接构造元素,在索引 1 的位置直接构造 pair(5, 6)
vec.assign(3,7);//替换整个 vector 的内容,vec变为 {7,7,7}

3.删除元素

vec.pop_back();//删除尾部元素
vec.erase(vec.begin()+1);//删除指定位置的元素

4.访问元素

int vel=vec[0];//随机访问
int val2=vec.at(1);//带边界的访问

5.遍历

for(int val:vec){std::cout << val << " ";
}

6.修改大小

vec.resize(5)//调整大小为5

7.清空

vec.clear();

list的用法

1.初始化

std::list<int> lst={1,2,3};
std::list<int> lst2(10,0);//初始化大小为10,所有元素为0

2.添加元素

lst.push_back(4);//在尾部添加元素
lst.push_front(0);//在开头添加元素
auto it = lst.begin();
std::advance(it,1);
lst.insert(it,5);//在指定位置插入元素

3.删除元素

lst.pop_back();
lst.pop_front();//删除开头元素
lst.erase(lst.begin());//删除指定位置的元素

4.访问元素

for(int val:lst){std::cout << val << " ";
}
  1. 修改大小
lst.resize(5);//调整大小为5
  1. 清空
lst.clear();

7.排序

lst.sort();//对列表进行排序
  1. 合并
std::list<int> lst2 = {4,5,6};
lst.merge(lst2);

9.反转

lst.reverse();//反转列表

通过以上总结,可以根据具体需求选择使用vectorlist

http://www.dtcms.com/wzjs/251905.html

相关文章:

  • 网站建设费 项目经费如何创建网站站点
  • 济南做网站百度app下载安装官方免费下载
  • 清远做网站公司长沙官网seo收费
  • 政府机构的网站怎么做的那么差全渠道营销管理平台
  • 如何查询一个网站的注册信息百度知道网页版进入
  • 哪个网站做房子团购今天最新的新闻头条新闻
  • 眼科医院网站开发策划竞价托管外包服务
  • 怎么用html做百度首页网站南京网络优化培训
  • 重庆重庆网站建设360安全浏览器
  • 我做网站编辑写文章很慢怎么办关键词查网站
  • 网页应用生成器seo公司上海牛巨微
  • 让建站公司做网站需要什么百度如何快速收录网站
  • 专门做生鲜的网站拉新推广怎么做
  • 大型租车门户网站商业版源码网站优化搜索排名
  • 政府网站建设意见征集保定网站推广公司
  • 给政府做网站怎么报价自己做网站建设
  • 12306网站 谁做的官网站内推广内容
  • 制冷+网站建设+中企动力推推蛙网站诊断
  • 互联网推广运营q群排名优化软件
  • 网站建设机器人今日世界杯比分预测最新
  • 做淘宝客建网站用什么怎么做属于自己的网站
  • pc端网站开发技术怎么进入百度推广账户
  • 做地方门户网站seo搜索引擎优化期末及答案
  • 交友网站怎样做云和数据培训机构怎么样
  • 昆明网站的建设seo建站
  • 做网站推广弊端seo教程
  • 自助建网站工具精准推广
  • 网站建设及维护机百度推广客户端怎样注册
  • 上海建设银行网站查询余额网站推广软文
  • 搜索引擎调词平台多少钱网站关键词优化软件