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

网站建设优化项目wordpress列表翻页有page

网站建设优化项目,wordpress列表翻页有page,企业网站如何优化,文化集团网站模板STL标准库之list list类的简介常用的list类的接口构造迭代器容量访问修改 list和vector的区别 list类的简介 list是一种序列式容器#xff0c;可以在任意位置插入和删除元素#xff0c;并且其时间复杂度为O(1)#xff0c;在底层#xff0c;list是双向链表结构#xff0c;… STL标准库之list list类的简介常用的list类的接口构造迭代器容量访问修改 list和vector的区别 list类的简介 list是一种序列式容器可以在任意位置插入和删除元素并且其时间复杂度为O(1)在底层list是双向链表结构每个节点通过指针指向下一个节点因此最大的缺陷是不支持随机访问必须从已知位置开始迭代到该位置同时节点除了存储val值之外还要存储指针因此需要一些额外的空间。 由于双向带头循环链表的存在使得list在找尾时无需从头开始遍历这样就有效降低了查找时候的时间复杂度。头节点不存储数据只是记录了当前list的第一个节点的地址和最后一个节点的地址 常用的list类的接口 构造 函数名称功能list(size_type n, const value_type val value_type())n个值为value的元素list()空列表list(const list x)拷贝构造list(InputIterator first, InputIterator last)用first和last进行区间构造 对应写法 listint l(10, 5); listint l2(); listint l3(l2);int arr[] {1,2,3,4,5}; int n sizeof(arr)/sizeof(arr[0]); listint l4(arr, arrn);迭代器 函数名称功能begin()end()返回第一个元素的迭代器和最后一个元素的迭代器rbegin()rend()返回第一个元素的reverse_iterator,即end位置返回最后一个元素下一个位置的reverse_iterator,即begin位置 从迭代器的在list中的位置可以看到begin()实际上在第一个有效节点的位置而end()在头节点的位置那么为何要这样设置呢 实际上这样设置迭代器后就可以很快速的找到当前链表的头和尾了当需要找尾时使用end()指向节点中的prev就可以快速找到如果需要判断当前列表是否为空呢实际上直接判断end()指向的值和begin()指向的值是否相等如果相等意味着head节点就是当前列表中唯一的节点那么就说明当前列表为空。 判读是否为空就可以直接判断end和begin是否相等因为当只有一个头节点的时候prev和next指向的都是头节点。 容量 函数名称功能empty判断是否为空列表size计算当前列表中有多少个有效节点 访问 函数名称功能front返回第一个节点中值的引用back返回最后一个节点中值的引用 如果需要进行遍历由于list特性是不支持直接使用[]进行随机访问的需要我们通过头节点逐个迭代。 修改 函数名称功能push_front头插一个元素pop_front头删一个元素push_back尾插一个元素pop_back尾删一个元素insertpos位置插入元素erasepos位置删除元素swap交换两个list中的元素clear清空list中的元素 请注意针对迭代器失效的问题在vector中我们说任何可能会导致扩容的操作都可能会导致迭代器失效同时删除也会导致删除当前位置以及后续所有的迭代器失效。但是在list中由于使用链式存储方式因此不存在扩容的情况因此扩容不会导致迭代器失效而删除操作会导致当前位置的迭代器失效并不会影响后续的迭代器。 list和vector的区别 由于vector和list两个容器的底层结构不同导致其特性以及应用场景不同。 vectorlist底层结构动态的顺序表一段连续空间带头节点的双向循环链表随机访问支持随机访问访问效率O(1)不支持访问效率O(n)插入和删除在任意位置插入和删除的效率低需要整个搬移元素时间复杂度为O(n)插入时可能要增容效率低支持在任意位置的插入和删除时间复杂度都为O(1)并且无需扩容拷贝元素效率高空间利用率底层为连续空间不易造成内存碎片空间利用率高缓存利用率高底层动态开辟节点小节点容易造成内存碎片空间利用率低缓存利用率低迭代器例如需要进行迭代器为原生态的指针指针也就是向后偏移一个元素需要对指针进行封装因为迭代器本身是不能通过访问到下一个元素的元素之间使用指针相连迭代器失效插入元素时可能会导致扩容这样就会使得所有的迭代器都失效因此需要对迭代器重新赋值删除元素时也需要重新赋值否则也会失效插入元素不会扩容只有删除元素会导致当前位置迭代器失效其他位置迭代器没有影响使用场景需要高效存储支持随机访问的场景不关心插入删除的效率涉及到大量的插入和删除不关心随机访问
http://www.dnsts.com.cn/news/180262.html

相关文章:

  • 全网网站推广网站做零售
  • 目前主流的网站开发语言模板网站有后台么
  • wordpress站点地址修改推广
  • python 网站建设山东平台网站建设平台
  • 海报自动设计网站创意设计思维
  • 茶艺馆网站中建八局第二建设有限公司
  • 性病医院网站优化服务商央企门户网站哪家做的最好
  • 宁夏枸杞网站建设方案上海网站营销怎么样
  • 深圳网站建设黄浦网络-骗钱加强纪检监察网站建设
  • 河北中冶润丰建设股份有限公司网站商标购买网商标
  • 被他人备案后做违法网站山西网站开发二次开发
  • 拓者设计吧邀请码免费网页设计就是做网站优化的吗
  • 3d在线设计网站做黑彩网站能赚钱吗
  • 阿里云如何添加新网站卖文具做网站好还是做电商好
  • 贵州网站集约化建设许昌网站制作公司
  • 百度收录网站关键字wordpress做门户网
  • 有哪些网站是用vue做的济南天桥区网站建设
  • 中卫建设厅网站做网站前期需要准备什么
  • 家居企业网站建设机构笑话网站模版
  • 商务网站规划与网页制作网站网站怎么优化关键词排名
  • 网站备案要如何取消室内设计效果图制作教程
  • 模块网站需要多少钱怎么做平台网站吗
  • 大型网站外链是怎么建设的建设银行官网入口
  • 贵阳做网站方舟网络网站保定网站建设多少钱
  • 做体育网站做会所网站的
  • 湖北建设厅行政服务中心网站网站上线流程
  • 德源网站建设凡科网站可以做淘宝客吗
  • 洋洋点建站net网站建设教程
  • 目前建设网站做直播网站需要多少钱
  • 做底单的网站怎样做好网站用户体验