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

做intor的网站创可贴设计网站官网

做intor的网站,创可贴设计网站官网,wordpress 即时站内搜索,深圳软件公司开发文章目录 一、vector的介绍二、vector的常用接口说明2.1 vector的使用2.2 vector iterator的使用2.3 vector空间增长问题2.4 vector 增删查改 三、总结 ヾ(๑╹◡╹)#xff89; 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹)#xff89; 一、vector的介绍 vector… 文章目录 一、vector的介绍二、vector的常用接口说明2.1 vector的使用2.2 vector iterator的使用2.3 vector空间增长问题2.4 vector 增删查改 三、总结 ヾ(๑╹◡╹) 人总要为过去的懒惰而付出代价ヾ(๑╹◡╹) 一、vector的介绍 vector文档介绍 大部分的使用与string的使用类似 vector类似于顺序表是动态增长的数组。头文件#include vector vector是表示可变大小数组的序列容器。就像数组一样vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问和数组一样高效。但是又不像数组它的大小是可以动态改变的而且它的大小会被容器自动处理。本质讲vector使用动态分配数组来存储它的元素。当新元素插入时候这个数组需要被重新分配大小为了增加存储空间。其做法是分配一个新的数组然后将全部元素移到这个数组。就时间而言这是一个相对代价高的任务因为每当一个新的元素加入到容器的时候vector并不会每次都重新分配大小。vector分配空间策略vector会分配一些额外的空间以适应可能的增长因为存储空间比实际需要的存储空间更大。不同的库采用不同的策略权衡空间的使用和重新分配。但是无论如何重新分配都应该是对数增长的间隔大小以至于在末尾插入一个元素的时候是在常数时间的复杂度完成的。因此vector占用了更多的存储空间为了获得管理存储空间的能力并且以一种有效的方式动态增长。与其它动态序列容器相比deque, list and forward_listvector在访问元素的时候更加高效在末尾添加和删除元素相对高效。对于其它不在末尾的删除和插入操作效率更低。比起list和forward_list统一的迭代器和引用更好 二、vector的常用接口说明 2.1 vector的使用 vector可以存储任意类型的数据 代码展示 vectorint v1;//可以是int类型也可以是任意类型v1.push_back(1);v1.push_back(2);v1.push_back(3);vectorstring v2;//可以是string类型v2.push_back(易烊千玺);v2.push_back(王俊凯);v2.push_back(王源);vectorint v3;v3 v1;vectordouble v4(10, 1.2);//10个1.2进行初始化//可以迭代器区间进行初始化vectorstring v5(v2.begin(), v2.end());//从v2的第二个到最后一个对v5进行初始化string s hello world;vectorchar v6(s.begin(), s.end());//可以是任意类型的迭代器不一定是自已类型的迭代器注意allocator是空间配置器其实就是内存池。空间配置器也可以自己写。 2.2 vector iterator的使用 vector的遍历 vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);//vector的遍历//1.[]for (size_t i 0; i v.size(); i){cout v[i] ;}cout endl;//2.迭代器vectorint::iterator it v.begin();while (it ! v.end()){cout *it ;it;}cout endl;//3.范围forfor (auto e : v){cout e ;}cout endl;2.3 vector空间增长问题 max_size() capacity的代码在vs和g下分别运行会发现vs下capacity是按1.5倍增长的g是按2倍增长的。这个问题经常会考察不要固化的认为vector增容都是2倍具体增长多少是根据具体的需求定义的。vs是PJ版本STLg是SGI版本STL。reserve只负责开辟空间如果确定知道需要用多少空间reserve可以缓解vector增容的代价缺陷问题。resize在开空间的同时还会进行初始化影响size。开空间初始化可以用resize()string 和 vector 删除数据时是不会缩容的capacity 单次增容越多增容次数越少效率就越高但是可能浪费空间越多。如果知道要开多少空间可以用reverve() shrink_to_fit shink_to_fit会把容量变得和size一样但是这个函数需要慎用因为空间不是一部分还给操作系统而是把所有空间都还给操作系统重新开辟一块空间把数据放入。 2.4 vector 增删查改 insert vector是不支持下标插入的只支持迭代器;string是支持下标插入的。 vector是没有头插的可以用insert进行头插。insert也支持尾插。【超过尾插就不可以了就会越界访问编译出现错误】 vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);v.insert(v.begin(), -1);//相当于头插for (auto e : v){cout e ;}cout endl;v.insert(v.begin() 5, 20);//相当于尾插//v.insert(v.begin() 7, 30);//这行代码会报错//此时一共有6个数据如果在第8个位置插入是不可以的不可以越界for (auto e : v){cout e ;}cout endl;erase 注意这里也是迭代器【注意不能越界】 查找 vector和list都没有查找函数复用的是算法里面的find()函数 find()函数支持一段迭代器区间找一个值没有找到返回last.[所以是一个前闭后开区间]头文件是#include algorithm 算法 删除3-先找3这个位置-删除 代码展示 vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);//查找vectorint::iterator pos find(v.begin(), v.end(),3);//auto pos find(v.begin(), v.end(), 3);//这一种比较方便if (pos ! v.end()){cout 找到了 endl;v.erase(pos);}else{cout 没有找到 endl;}for (auto e : v){cout e ;}cout endl;sort sort对vector可以进行排序对其他容器也可以进行排序但是有的并不适合listsort默认是升序排序如果想要降序就需要仿函数【头文件#include functional 】 代码展示 vectorint v;v.push_back(1);v.push_back(0);v.push_back(5);v.push_back(8);v.push_back(4);for (auto e : v){cout e ;}cout endl;//默认升序sort(v.begin(), v.end());for (auto e : v){cout e ;}cout endl;//仿函数降序sort(v.begin(), v.end(), greaterint());for (auto e : v){cout e ;}cout endl;三、总结 以上就是今天要讲的内容本文详细的介绍了vector的使用vector iterator的使用vector空间增长问题vector增删查改。希望给友友们带来帮助
http://www.yingshimen.cn/news/121291/

相关文章:

  • 自己设计logo网站舟山建设信息港
  • 建设部网站在哪里报名考试深圳宝安区新安街道
  • 备案信息 网站名竞价推广培训课程
  • 网站开发实例百度云照片视频制作网站
  • 小米手机网站建设目标大连 响应式网站
  • 网站统一建设统一管理帮别人做网站 别人违法
  • 成都网站建设哪家专业信用湘潭网站
  • 潍坊在线网站建设seo怎么弄
  • 会员管理网站模板湖州市建设中心网站
  • 网站服务费做啥费用潍坊网站建设建站
  • 网站分类导航代码建湖人才网最新招聘信息
  • 佛山建网站永网网站群建设公司排行榜6
  • 中国建设信息港网站免费最新如何建设网站教程视频
  • 长沙大型网站建设公司seo的主要内容
  • 互联网网站不到网站是为什么
  • 长春建站程序一天赚2000加微信
  • 自创字 网站android网站开发
  • 网站域名没有实名认证那个网站做问卷好
  • 如何建立一个网站根目录郑州哪家公司做网站
  • 国内免费素材网站做网站常州
  • 禹州市门户网站建设咸宁公司网站建设
  • dz论坛如何做网站地图浏览器正能量网站2021
  • 一链一网一平台廊坊seo管理
  • 做网站制作较好的公司做网站连带责任
  • 做一个自己的网站多少钱一舍设计公司
  • 房产网站建网站简述seo的优化流程
  • 手机跳转网站建设男装商城网站建设
  • 营销网站开发公司网站开发php制作
  • 网站建设工作室需要哪些设备飞鱼crm下载
  • 做网站推广的 什么是开户crm客户管理系统的功能有哪些