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

网站开发项目发展现状/凡科网站建设

网站开发项目发展现状,凡科网站建设,网站建设和维护哪个好,vs网站开发入门文章目录list的节点list的迭代器list的结构list的相关操作inserttransfer与 vector不同, list的底层是用 双向链表实现的,其逻辑上连续的元素并不是地址连续的。list每插入或删除一个元素,就配置或释放一个元素的空间,内存利用率较…

文章目录

  • list的节点
  • list的迭代器
  • list的结构
  • list的相关操作
    • insert
    • transfer

vector不同, list的底层是用 双向链表实现的,其逻辑上连续的元素并不是地址连续的。

list每插入或删除一个元素,就配置或释放一个元素的空间,内存利用率较高。对于任意位置上元素的插入或删除操作,永远是常数时间。vector的是O(n)

list的节点

template <class T>
struct ListNode {T data;ListNode<T> *prev;ListNode<T> *next;
};

list的迭代器

由于list是一个双向链表,迭代器必须具备前移后移的能力,所以list的迭代器属于Bidirectional Iterator
在这里插入图片描述
list添加元素的操作不会使原有的迭代器失效,而vector会重新配置空间会导致原有的迭代器失效;list的删除操作会使“指向被删除元素”的迭代器失效(引用未定义内容),而vector的指向被删除元素的迭代器会指向被删除元素的下一个元素

list的结构

SGI list不仅是一个双向链表,而且还是一个环状双向链表,所以它只需要一个指针,便可表示完整的链表。

为了使list能满足STL前闭后开区间的要求,环状双向链表维护了一个尾空节点

list::end()指向的就是尾空节点
list为空时,尾空节点的prevnext都指向自己。list对象持有尾空节点的地址。
在这里插入图片描述

list的相关操作

insert

本质上,vectorlist的插入元素操作,都会把新元素插在迭代器position所指的元素的前面,只不过在插入操作完成后,vectorposition指向了新插入的元素,listposition指向原有的元素。

有如下list
在这里插入图片描述
position处插入新元素7会变成这样:
在这里插入图片描述
vector的话会是这样:
在这里插入图片描述
此外,list支持push_frontpush_backpop_frontpop_backeraseclearremoveunique等操作。

transfer

list内部提供了一个transfer操作:将某连续范围内的元素迁移到某个特定位置之前。这个函数实现的难点在于指针的移动,它为诸如splicemergesort等更复杂的操作奠定了基础。

list不能使用STL算法的sort(只接受Random Access Iterator),所以它自定义了一个sort成员函数。

http://www.lbrq.cn/news/742141.html

相关文章:

  • 城市建设厅官方网站/网络营销是干什么的
  • 手机网站源码最好/网站自然优化
  • 做网站的优势/百度信息流广告投放
  • 自己可以做英文网站么/2024年新冠疫情最新消息
  • 免费域名申请 2021/苏州首页关键词优化
  • 宣传片拍摄技巧/seo收索引擎优化
  • 国内b2b网站有哪些/湖北搜索引擎优化
  • 有什么网站可以做代理的/网站如何seo推广
  • 小学微机作业做网站/搜狗站长推送工具
  • 关于旅游类网站建设设计方案/湖南专业关键词优化服务水平
  • 正邦网站建设 优帮云/搜索排名提升
  • 免费html网页模板素材网站/陕西seo优化
  • 两支队伍建设专题网站/关键词优化外包服务
  • 清新太和做网站/网站推广优化公司
  • 不同类型网站/重庆seo优
  • 做企业网站的广告词/谷歌商店官网下载
  • 有自己的网站做淘宝联盟号做吗/谷歌三件套一键安装
  • 江苏省建设工程造价管理协会网站/如何推广自己的店铺
  • 100件创意产品设计方案/西安网站关键词优化推荐
  • 中国建设银行上海分行网站/深圳市企业网站seo
  • php动态网站建设内容/网络营销推广与策划
  • 广告公司的网站建设价格/龙岗百度快速排名
  • 做期货看什么网站/产品推广步骤
  • wordpress教程 ppt/seo排名啥意思
  • 涿州网站建设天峰/百度广告代理商
  • 购物网站名字大全/有哪些平台可以做推广
  • 用哪个程序做网站收录好/百度推广视频
  • 做艺术品的网站/免费友链互换
  • vuejs做视频网站设计/怎么自己创建网站
  • 南宁网站优化/微商引流人脉推广软件
  • electron进程间通信-从主进程到渲染器进程
  • 【AI】算法环境-显卡、GPU、Cuda、NVCC和cuDNN的区别与联系
  • 如何在 uBlock Origin 中忽略指定网站的某一个拦截规则
  • 继承——Java中的“家族传承”
  • Poisson分布:稀有事件建模的理论基石与演进
  • 【速通】深度学习模型调试系统化方法论:从问题定位到性能优化