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

网站做排行多少费用刷排名的软件是什么

网站做排行多少费用,刷排名的软件是什么,如何做公司自己的网站,网站开发语音个人主页 : zxctscl 如有转载请先通知 文章目录 1. list介绍2. list的构造3. ist iterator的使用4. capacity5. element access6. modifiers7. 迭代器失效8. Operations8.1 reverse8.2 sort8.3 unique8.4 splice 1. list介绍 list是可以在常数范围内在任意位置进行插…

个人主页 : zxctscl
如有转载请先通知

文章目录

  • 1. list介绍
  • 2. list的构造
  • 3. ist iterator的使用
  • 4. capacity
  • 5. element access
  • 6. modifiers
  • 7. 迭代器失效
  • 8. Operations
    • 8.1 reverse
    • 8.2 sort
    • 8.3 unique
    • 8.4 splice

1. list介绍

在这里插入图片描述

  1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。
  2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。
  3. list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。
  4. 与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率更好。
  5. 与其他序列式容器相比,list和forward_list最大的缺陷是不支持任意位置的随机访问,比如:要访问list的第6个元素,必须从已知的位置(比如头部或者尾部)迭代到该位置,在这段位置上迭代需要线性的时间开销;list还需要一些额外的空间,以保存每个节点的相关联信息(对于存储类型较小元素的大list来说这可能是一个重要的因素)
    在这里插入图片描述

list中的接口比较多,此处类似,只需要掌握如何正确的使用,然后再去深入研究背后的原理,已达到可扩展的能力。以下为list中一些常见的重要接口。

2. list的构造

在这里插入图片描述

3. ist iterator的使用

此处,大家可暂时将迭代器理解成一个指针,该指针指向list中的某个节点。
在这里插入图片描述
在这里插入图片描述
直接看代码:

    list<int> lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(5);list<int>::iterator it = lt.begin();while (it != lt.end()){cout << *it << " ";it++;}cout << endl;for (auto e : lt){cout << e << " ";}cout << endl;

在这里插入图片描述

注意:

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

4. capacity

在这里插入图片描述

5. element access

在这里插入图片描述

6. modifiers

在这里插入图片描述

7. 迭代器失效

迭代器失效即迭代器所指向的节点的无效,即该节点被删除了。因为list的底层结构为带头结点的双向循环链表,因此在list中进行插入时是不会导致list的迭代器失效的,只有在删除时才会失效,并且失效的只是指向被删除节点的迭代器,其他迭代器不会受到影响。

list的insert不会失效,但是erase会失效。
在这里插入图片描述

void TestListIterator1()
{int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };list<int> l(array, array + sizeof(array) / sizeof(array[0]));auto it = l.begin();while (it != l.end()){l.erase(it);++it;}
}

erase()函数执行后,it所指向的节点已被删除,因此it无效,在下一次使用it时,必须先给
其赋值:
在这里插入图片描述
修改一下代码:

void TestListIterator()
{int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };list<int> l(array, array + sizeof(array) / sizeof(array[0]));auto it = l.begin();while (it != l.end()){l.erase(it++); // it = l.erase(it);}}

在这里插入图片描述

8. Operations

在这里插入图片描述

8.1 reverse

reverse逆置
来看看代码;

    list<int> lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(5);for (auto e : lt){cout << e << " ";}cout << endl;lt.reverse();for (auto e : lt){cout << e << " ";}cout << endl;

在这里插入图片描述

8.2 sort

在这里插入图片描述
sort默认排的是升序,来看看代码:

    list<int> lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(5);for (auto e : lt){cout << e << " ";}cout << endl;lt.reverse();for (auto e : lt){cout << e << " ";}cout << endl;lt.sort();for (auto e : lt){cout << e << " ";}cout << endl;

在这里插入图片描述
在这里插入图片描述
排降序的话,得加一个仿函数

    list<int> lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(5);for (auto e : lt){cout << e << " ";}cout << endl;lt.sort(greater<int>());for (auto e : lt){cout << e << " ";}cout << endl;

在这里插入图片描述

8.3 unique

去重要求先排序在这里插入图片描述
来看看代码:

	list<int> lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(2);lt.push_back(2);lt.push_back(4);lt.push_back(5);lt.push_back(2);for (auto e : lt){cout << e << " ";}cout << endl;lt.sort();for (auto e : lt){cout << e << " ";}cout << endl;lt.unique();for (auto e : lt){cout << e << " ";}cout << endl;

在这里插入图片描述

8.4 splice

splice是转移的意思,但是转移的链表类型必须是相同的。
在这里插入图片描述
举个例子:把第一个位置的值拿出来,也就是1.然后2 3 4依此往前挪,最后插入到最后面。只是改变节点的指向。
在这里插入图片描述

代码:

    list<int> lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);for (auto e : lt){cout << e << " ";}cout << endl;lt.splice(lt.end(), lt, lt.begin());for (auto e : lt){cout << e << " ";}cout << endl;

在这里插入图片描述
在这里插入图片描述
也可以把一个链表的一部分转移到另一个节点上,
看代码:

	list<int> lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);for (auto e : lt){cout << e << " ";}cout << endl;list<int> lt1;lt.push_back(10);lt.push_back(20);lt.push_back(30);lt.push_back(40);lt.splice(lt.begin(), lt1);for (auto e : lt){cout << e << " ";}cout << endl;

在这里插入图片描述
有问题请指出,大家一起进步!!!

http://www.dinnco.com/news/49074.html

相关文章:

  • 做网站需要什么认证培训总结怎么写
  • 怎么制作网站教程图片软文营销的作用有哪些
  • 中国网站建设公司有哪些方面私人网站管理软件
  • 政府网站建设未来发展方向搜索引擎优化教材答案
  • 做网站有没有前景宁波优化关键词首页排名
  • 设计网站国外免费注册网页网址
  • 柳州网站建设公司哪家好百度助手官网
  • 第一代 第四代 网站建设搜索网
  • vue可以做web网站吗做游戏推广怎么找客户
  • .net 开发门户网站网站互联网推广
  • 网站的结构与布局优化设计百度知道登录
  • 平度网站建设公司电话北京建公司网站价格
  • seo排名优化软件价格什么建站程序最利于seo
  • 网站设计需要多少钱百度分析
  • 镇江网站建设介绍服务怎么设计网站
  • 自助建站模板下载怎么查询搜索关键词
  • 重庆建设招标造价信息网站网络优化seo是什么工作
  • 注重网站开发设计与建设电商网站定制开发
  • 做网站需要注意什么广东疫情最新资讯
  • 展厅效果图网站网站排名怎么搜索靠前
  • 效果图网站源码重庆seo什么意思
  • 中铁建设集团有限公司基础设施事业部江北seo
  • 做网站选用什么域名比较好百度识图软件
  • 如何向搜索引擎提交网站晚上偷偷看b站软件推荐
  • 嵌入式软件开发是什么意思安卓优化大师全部版本
  • 外贸做的亚马逊网站是哪个好seo技术大师
  • 网站的logo怎么换免费的外链网站
  • 怎么做外网网站监控百度收录情况
  • 怎么做百度网站会显示图片在旁边适合员工的培训课程
  • 网站建设项目需求书百度人工优化