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

游戏网站appwordpress导航文件夹

游戏网站app,wordpress导航文件夹,photoshop网页制作视频教程,响应网站怎么做教学视频十一,list 带头循环双向链表。 遍历方式:迭代器,不再支持operate[],operate[]适用于底层是数组的结构。 remove删除值,如果有多个相同的值,都会删除。 接口介绍 下面会介绍list的一些接口 构造 构造…

十一,list

带头循环双向链表。

遍历方式:迭代器,不再支持operate[],operate[]适用于底层是数组的结构。

remove删除值,如果有多个相同的值,都会删除。
在这里插入图片描述

接口介绍

下面会介绍list的一些接口

构造

构造函数(constructor接口说明注意点
list (size_type n, const value_type& vall = value_type())构造的list中包含n个值为val的元素
list()构造空的list
list (const list& x)拷贝构造函数
list (InputIterator fifirst, InputIterator last)用[first, last)区间中的元素构造区间是左开右闭的,并且list并不支持+,-的操作
构造使用与遍历

[list构造与遍历](https://gitee.com/any10/c_plus_plus/blob/master/2025c%2B%2B/list_4_13_ 接口/list构造与遍历/test.cpp)

1,begin与end为正向迭代器,对迭代器执行++操作,迭代器向后移动

2,rbegin(end)与rend(begin)为反向迭代器,对迭代器执行++操作,迭代器向前移动

Modifiers(修饰语句)

函数名接口说明函数声明
push_front在list首元素前插入值为val的元素void push_front (const value_type& val);void push_front (value_type&& val);
pop_front删除首元素void pop_front();
push_back尾部插入值为val的元素void push_back (const value_type& val);void push_back (value_type&& val);
pop_back删除尾元素void pop_back();
insert在list position位置插入值为val的元素insert
erase删除list position位置的元素iterator erase (const_iterator position);iterator erase (const_iterator first, const_iterator last);
swap交换两个list中的元素void swap (list& x);
clear清空list中的有效元素void clear() noexcept;(noexcept该关键字告诉编译器,函数中不会发生异常,这有利于编译器对程序做更多的优化。)
简单使用

[list插入删除](https://gitee.com/any10/c_plus_plus/blob/master/2025c%2B%2B/list_4_13_ 接口/list插入删除/test.cpp)

模拟实现

初步实现

完善

list和vector的对比

vectorlist
底层结构动态顺序表,一段连续空间带头结点的双向循环链表
随机访问支持随机访问,访问某个元素效率为O(1)不支持随机访问,访问某个元素效率为O(N)
插入和删除任意位置插入和删除效率低,需要搬移元素,时间复杂度为O(N),插入时有可能需要增容,增容:开辟新空间,拷贝元素,释放旧空间,导致效率更低任意位置插入和删除效率高,不需要搬移元素,时间复杂度为O(1)
空间利用率底层为连续空间,不容易造成内存碎片,空间利用率高,缓存利用率高底层节点动态开辟,小节点容易造成内存碎片,空间利用率低,缓存利用率低**
迭代器原生态指针对原生态指针(节点指针)进行封装**
迭代器失效在插入元素时,要给所有的迭代器重新赋值,因为插入元素有可能会导致重新扩容,致使原来迭代器失效,删除时,当前迭代器需要重新赋值否则会失效插入元素不会导致迭代器失效,删除元素时,只会导致当前迭代器失效,其他迭代器不会受影响
使用场景需要高效存储,支持随机访问,不关心插入删除效大量插入和删除操作,不关心

vector

优点:1,支持下标访问。

2,CPU高速缓存命中率高。

缺点:1,头部和中部插入删除效率低下,因为要挪动数据。

2,扩容有一定成本,存在一定空间浪费。

list

缺点:1,不支持下标随机访问。

2,CPU高速缓存命中率低。

优点:1,任意位置可以O(1)插入删除,不需要挪动数据。

2,不需要扩容,按需申请释放,不浪费空间。

CPU要访问内存一个数据,要看这个数据是否在缓存,在就叫缓存命中,不在就是不命中;不命中就要先加载到缓存,然后在访问缓存。

关于CPU缓存:https://coolshell.cn/articles/20793.html


文章转载自:

http://Msiw4QNL.rmqLf.cn
http://tZtq2ieV.rmqLf.cn
http://9BPzYxF3.rmqLf.cn
http://wAw5jZTo.rmqLf.cn
http://GkyAeM15.rmqLf.cn
http://0rZWzAKj.rmqLf.cn
http://VGwXP0Yj.rmqLf.cn
http://zVWAlb1G.rmqLf.cn
http://oAXmzA5A.rmqLf.cn
http://q9V4gLs3.rmqLf.cn
http://LKFENRwz.rmqLf.cn
http://tLLmTu5d.rmqLf.cn
http://2uxOVZ3Z.rmqLf.cn
http://76RXTVJb.rmqLf.cn
http://442cFepU.rmqLf.cn
http://xAMHnEdg.rmqLf.cn
http://uAPiEORd.rmqLf.cn
http://lb63bo2z.rmqLf.cn
http://R1DPgbQi.rmqLf.cn
http://KgILNlHG.rmqLf.cn
http://Q8PES67J.rmqLf.cn
http://ukj8we4p.rmqLf.cn
http://teZBrg7N.rmqLf.cn
http://jo7w8Ajv.rmqLf.cn
http://L78SxzwN.rmqLf.cn
http://oLgpkZNt.rmqLf.cn
http://IYneZ9Iu.rmqLf.cn
http://V9rnULCw.rmqLf.cn
http://7qoFat5o.rmqLf.cn
http://V8wM4uX7.rmqLf.cn
http://www.dtcms.com/wzjs/728734.html

相关文章:

  • 兰州网络营销网站wordpress08影视站
  • 建外贸网站费用网络营销应具备的技能
  • 深圳夜场网站建设托管企业网站软件
  • 一号网站建设徐州做网站设计
  • 网站建设职业兴趣要求中国建设银行官网网址多少
  • 建设银行陕西分行网站wordpress访问要10多秒
  • 深圳网络营销|深圳网站建设公司|专业网络营销运营推广策划公司常州做网站公司有哪些
  • 泰州专业做网站公司苏州园区属于哪个区
  • seo优化网站教程百度建设银行网银网站特色
  • 扁平化设计风格的网站模板免费下载收录之家
  • 怎么做百度自己的网站空间小程序商城多少钱
  • 网站建设面试自我介绍工程项目管理软件排名
  • 网站建设的基本步骤和过程东莞有多少个镇区
  • 怎么自做网站中国建设网站轨道自检验收报告表
  • 如何做外贸营销型网站推广网站推广培训哪里好
  • 校园网站的作用网站开发工程师和软件工程
  • 网站制作介绍如何做行业平台网站
  • 网站建设后台管理泉州模板网站建站
  • 那个网站做二手买卖的手机访问网站页面丢失
  • 网站内容管理系统怎么用常见的搜索引擎有哪些
  • 松江网站建设公司有网页源码 怎么做网站
  • 石大远程网页设计与网站建设答案互联网公司名字大全参考
  • 浙江省建设银行网站关于公司网站怎么做
  • 莱州哪有做网站的微信分销是什么
  • 手机免费建设网站制作网站 建立目录出错
  • 网站建设 起飞网站管理助手
  • c#做交易网站东莞网站设计的公司
  • 可以直接进入网站的正能量照片赣州企业网
  • phpcms网站打开空白郴州网签查询
  • 网站维护收费如何用python开发网页