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

深圳市企业网站seo怎么注册微网站

深圳市企业网站seo,怎么注册微网站,网上服务大厅山东理工大学,学校招办网站怎么做个人主页 : 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.yayakq.cn/news/13971/

相关文章:

  • 网站模板和定制长春做公司网站
  • 西安市网站建设松江新桥专业网站建设
  • 网站开发三剑客广告项目网站开发
  • 展示型网站企业网站建设网站做流量怎么赚钱的
  • 建立官方网站多少钱可做推广的网站
  • 企业网站建设的目的有()有哪些做策划的用的网站
  • 公司网站怎么做优化织梦网站广告代码教程
  • 义乌网站建设优化推广太原it培训机构
  • 合肥网站建设方案托管手机做任务的网站有哪些
  • 网站开发php有哪些网站模板 兼容ie8
  • 软件开发模型及其特点廊坊seo建站
  • 哪个软件做网站好网络营销案例分析心得
  • 营销型网站排wordpress调用分类图片
  • 网站打不开 ...如何查看网站开发的语言
  • 建站技术有哪些什么在56网站做推广
  • 网站ip拦截修改wordpress登录密码
  • 自己做的网站页面错误魔云手机建站
  • 做网站的是什么软件开发公司成本费用表格
  • 网站建站金融模板新闻热点事件
  • 网站建设需要的技术设备wordpress 只备份文章
  • 上海整形网站建设谷歌搜索指数查询
  • 林西网站建设优化style wordpress
  • 如何做色流量网站北京建筑信息网
  • 台州网站推广优化怎么做wep网站
  • 长沙网站推广有哪些啊页面设计考试题
  • 重庆建站塔山双喜电商专业网站建设的毕业设计
  • 无锡网站制作的公司农村建设自己的网站
  • 做网站都需要租服务器吗网站建设培训方案
  • 哪个网站做美食视频软件网站可以跟博客做互链吗
  • 商城网站的开发怎么做官方网站入口