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

全国学校网站建设中山企业网站推广公司

全国学校网站建设,中山企业网站推广公司,中华南大街网站建设,虚拟主机网站国庆放假第三天#xff0c;今天把stl的list学完。 lsit是一个带头双向循环链表。 遍历 list也可以用迭代器#xff0c;范围for进行遍历#xff0c;没有operator[ ]。 迭代器 listint s1;s1.push_back(1);s1.push_back(2);s1.push_back(3);s1.push_back(4);list今天把stl的list学完。 lsit是一个带头双向循环链表。 遍历 list也可以用迭代器范围for进行遍历没有operator[ ]。 迭代器 listint s1;s1.push_back(1);s1.push_back(2);s1.push_back(3);s1.push_back(4);listint::iterator it s1.begin();while (it ! s1.end()){cout *it ;it;}cout endl; 范围for listint s1;s1.push_back(1);s1.push_back(2);s1.push_back(3);s1.push_back(4);for (auto ch : s1){cout ch ;}cout endl; 逆置 逆置使用reverse(): listint s1;s1.push_back(1);s1.push_back(2);s1.push_back(3);s1.push_back(4);s1.reverse();for (auto ch : s1){cout ch ;}cout endl; 交换 swap 用来交换两个list底层实现就是把连个list的头结点指针交换一下指向 listint s1;s1.push_back(1);s1.push_back(2);s1.push_back(3);s1.push_back(4);listint s3;s3.push_back(4);s3.push_back(3);s3.push_back(2);s3.push_back(1);s1.swap(s3);cout s1: ;for (auto ch : s1){cout ch ;}cout endl;cout s3: ; for (auto ch : s3) {cout ch ; } cout endl; 删除 remove 可以直接用remove删除指定的值 listint s1;s1.push_back(1);s1.push_back(2);s1.push_back(3);s1.push_back(4);s1.remove(3);for (auto ch : s1){cout ch ;}cout endl; pop_back() pop_back只能尾删并且不能传参 listint s1;s1.push_back(1);s1.push_back(2);s1.push_back(3);s1.push_back(4);s1.pop_back();for (auto ch : s1){cout ch ;}cout endl; 快排 升序 list可以使用sort()进行快速排序 listint s1;s1.push_back(4);s1.push_back(3;s1.push_back(2);s1.push_back(1);s1.sort();for (auto ch : s1){cout ch ;}cout endl; vector也可以进行快排但是vector没有sort这个成员算法库里有包一下算法库的头文件 #include algorithm 然后看一下算法库里面的sort的用法 可以看出来可以把vector的区间传给sort进行排序 vectorint s2;s2.push_back(4);s2.push_back(3);s2.push_back(2);s2.push_back(1);sort(s2.begin(), s2.end());for (auto ch : s2){cout ch ;}cout endl; 如果list用算法库里的这个sort就会报错 sort(s1.begin(), s1.end());for (auto ch : s1){cout ch ;}cout endl;这是因为迭代器有好几种特性 我们可以看一下sort和reverse: vector是单链表所以可以用sortlist是双链表不能用sort只能用reverse()。但是vector可以用reverse();也就是单向的容器可以用随机的迭代器和双向迭代器双向的容器只能用双向得迭代器。 降序 sort用了一个less仿函数实现升序用greater实现降序 greaterint il;s1.sort(il); 也可以用匿名对象的方式 //greaterint il;//s1.sort(il);s1.sort(greaterint()); list sort和vector sort效率对比 如果数据少的话可以用list的sort进行排序如果数据太多就不行了。我们可以实验一下写一段如下代码 void test2() {srand((size_t)time(0));const size_t N 100000;vectorint v;v.reserve(N);listint lit1;listint lit2;for (size_t i 0; i N; i){auto e rand;v.push_back((int)e);lit1.push_back((int)e);}int begin1 clock();sort(v.begin(), v.end());int end1 clock();int begin2 clock();lit1.sort();int end2 clock();cout vector sort: end1 - begin1 endl;cout list sort: end2 - begin2 endl;}这段代码就是看一下vector进行快排和list进行快排的效率对比的 可以看出list用快排占用栈帧比vecto使用快排大的多。因为vector是线性表list是链表。 我们也可以让list1 sort一下然后把list2给vector 进行代跑等vector sort完再拷贝回来 然后对比list1和lit2的效率 void test2() {srand((size_t)time(0));const size_t N 1000000;//vectorint v;//v.reserve(N);listint lit1;listint lit2;for (size_t i 0; i N; i){auto e rand;lit2.push_back((size_t)e);lit1.push_back((size_t)e);}int begin1 clock();vectorint v(lit2.begin(), lit2.end());sort(v.begin(), v.end());lit1.assign(v.begin(), v.end());int end1 clock();int begin2 clock();lit1.sort();int end2 clock();cout list-vector sort: end1 - begin1 endl;cout list sort: end2 - begin2 endl; } 可以看出明显经过vector 代跑的list2更快. 去重 去重就是去掉重复的值 listint s3;s3.push_back(5);s3.push_back(4);s3.push_back(3);s3.push_back(2);s3.push_back(1);s3.push_back(1);s3.push_back(1);s3.unique();for (auto ch : s3){cout ch ;}cout endl; 但是如果是无序的就不行无序的需要先排序才能去重 listint s3;s3.push_back(5);s3.push_back(4);s3.push_back(1);s3.push_back(3);s3.push_back(2);s3.push_back(1);s3.push_back(1);s3.sort(greaterint());s3.unique();for (auto ch : s3){cout ch ;}cout endl; 接合 for (int i 1; i 4; i)mylist1.push_back(i); // mylist1: 1 2 3 4for (int i 1; i 3; i)mylist2.push_back(i * 10); // mylist2: 10 20 30it mylist1.begin();it; // points to 2mylist1.splice(it, mylist2); // mylist1: 1 10 20 30 2 3 4// mylist2 (empty)// it still points to 2 (the 5th element)mylist2.splice(mylist2.begin(), mylist1, it);// mylist1: 1 10 20 30 3 4// mylist2: 2
http://www.yutouwan.com/news/44917/

相关文章:

  • 阿里云投数亿资源扶持中小网站迁移服务器wordpress 死
  • 品牌型网站制作公司桂林漓江景区游玩攻略
  • 成都电商网站首码项目推广平台
  • 美食网站开发的目标小程序需要写网站建设方案书
  • 百度怎样建立一个网站开课啦wordpress主题下载
  • 公司网站的建站要点简易app制作
  • 建设厅注册中心网站考试报名费缴费专用于做网站公司
  • 罗湖网站建设罗湖网站设计旅游搜索网站开发
  • 宜宾建设招标网站17173游戏交易平台官网
  • 做项目搭建网站 构建数据库韩国购物网站有哪些
  • 惠安县规划建设局网站给我一个网页
  • 我要招人在哪个网站招网站建设为什么有些100元的
  • 商城类网站如何做网站策划书的内涵
  • 新光途网站建设格泰网站建设
  • 网站空间 哪个速度快网站域名备案认证
  • 站长工具端口扫描广州公司营销型网站建设
  • 有没有个人网站百度一下你就知道了
  • 德州有做网站的西安网站制作设计定制
  • 以前做弹幕现在的电影网站站长工具中文精品
  • 安溪哪里有学做网站网页设计与制作基础代码
  • 程序员自己做网站怎么能来钱国家企业信息年报系统
  • 超级网站模板下载二次开发创造作用
  • 健康私人定制网站怎么做小浣熊做单网站
  • 网站项目设计与制作综合实训做网站原型的软件
  • 有没有专门发布毕业设计代做网站dw做的网站与浏览器不匹配
  • 四川杰新建设工程网站恶意镜像网站程序
  • 赣州网站建设-赣州做网站怎样建立一个自己的网站
  • 做百度移动端网站优电商网名
  • php网站开发 薪资 东莞好多网站权重都没了
  • 管理网站开发教程2023新闻摘抄大全