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

企业管理培训课程推广企业网站seo排名

企业管理培训课程推广,企业网站seo排名,展厅设计策划方案,新品发布会流程策划方案在学习玩string后我们开始学习vector#xff0c;本篇博客将对vector进行简单的介绍#xff0c;还会对vector一些常用的函数进行讲解 vector的介绍 实际上vector就是一个数组的数据结构#xff0c;但是vector是由C编写而成的#xff0c;他和数组也有本质上的区别#xff…在学习玩string后我们开始学习vector本篇博客将对vector进行简单的介绍还会对vector一些常用的函数进行讲解 vector的介绍 实际上vector就是一个数组的数据结构但是vector是由C编写而成的他和数组也有本质上的区别但也有相同点他的特征概括如下 vector是表示可变大小数组的序列容器。就像数组一样vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问和数组一样高效。但是又不像数组它的大小是可以动态改变的而且它的大小会被容器自动处理。本质讲vector使用动态分配数组来存储它的元素。当新元素插入时候这个数组需要被重新分配大小为了增加存储空间。其做法是分配一个新的数组然后将全部元素移到这个数组。就时间而言这是一个相对代价高的任务因为每当一个新的元素加入到容器的时候vector并不会每次都重新分配大小。vector分配空间策略vector会分配一些额外的空间以适应可能的增长因为存储空间比实际需要的存储空间更大。不同的库采用不同的策略权衡空间的使用和重新分配。但是无论如何重新分配都应该是对数增长的间隔大小以至于在末尾插入一个元素的时候是在常数时间的复杂度完成的。因此vector占用了更多的存储空间为了获得管理存储空间的能力并且以一种有效的方式动态增长。与其它动态序列容器相比deque, list and forward_list vector在访问元素的时候更加高效在末尾添加和删除元素相对高效。对于其它不在末尾的删除和插入操作效率更低。比起list和forward_list统一的迭代器和引用更好。 对于C语言中的数组二者有很多的异同点我将其概括如下 相同点 1 二者都是采用连续的空间来存储元素 2 二者都能通过下标进行访问 不同点 1 vector是采用动态开辟容器大小可以动态改变并且是自动处理 2vector会分配一些额外的空间以适应可能的增长因为存储空间比实际需要的存储空间更大 vector的使用 vector的定义 vector的定义就差不多是初始化以及拷贝构造和构造这些在之前的string类函数讲解中也提到了其实都大差不差的 构造并初始化 第一个参数是你要初始化元素的个数第二个参数是你要初始化成的字符 这里需要注意**里面就是你要放入vector里元素的类型** vectorint v(10, 1); for (auto ch : v) {cout ch; } cout endl;拷贝构造 其实都大差不差学习了前面的string和类和对象后都很简单了 vectorint v(10, 1);vectorint v1(v);for (auto ch : v1){cout ch;}cout endl;vector iterator 的使用 迭代器很常用咱们做个简单的讲解 迭代器同样地分为正向和反向 我们可以通过一个简单的代码来了解迭代器的使用 vectorint v; for (int i 1; i 5; i) {v.push_back(i); } for (vectorint::iterator it v.begin(); it ! v.end(); it) {cout *it; } cout endl;下面为反向迭代器 反向迭代器记得加上reverse vectorint v; for (int i 1; i 5; i) {v.push_back(i); } for (vectorint::reverse_iterator it v.rbegin(); it ! v.rend(); it) {cout *it; } cout endl;关于begin和rbeginend和rend的位置的关系如下图所示我们要记得两种迭代器都是从begin开始遍历 通过这张图我们需要注意到一个很重要的点 迭代器的区间都是左闭右开的所以end是在最后一个元素的后一个位置 vector 空间增长问题 其实空间增长问题我在之前的string类就有提到过都是有规律可循的 1 capacity的代码在vs和g下分别运行会发现vs下capacity是按1.5倍增长的g是按2倍增长的。vector增容都是2倍具体增长多少是根据具体的需求定义 2 reserve只负责开辟空间如果确定知道需要用多少空间reserve可以缓解vector增容的代价缺陷问题。 3 resize在开空间的同时还会进行初始化影响size 可以看到resize默认就是初始化为0 同时改变了capacity和size 而reserve只改变了capacity并且不会有初始化的功能 vectorint v; v.reserve(10); for (vectorint::iterator it v.begin(); it ! v.end(); it) {cout *it; } cout endl; cout former: endl; cout v.size() endl; cout v.capacity() endl; v.reserve(20); cout endl; cout after: endl; cout v.size() endl; cout v.capacity() endl;vector 增删查改 pushback尾插和popback尾删 都很简单拿一段简单的代码来演示一下吧 vectorint v; v.resize(10,1); for (vectorint::iterator it v.begin(); it ! v.end(); it) {cout *it; } cout endl; v.push_back(2); for (vectorint::iterator it v.begin(); it ! v.end(); it) {cout *it; } cout endl; v.pop_back(); for (vectorint::iterator it v.begin(); it ! v.end(); it) {cout *it; } cout endl;insert插入函数 这里如果需要在其他地方插入就在begin上进行操作 vectorint v; v.resize(10,1); for (vectorint::iterator it v.begin(); it ! v.end(); it) {cout *it; } cout endl; vectorint::iterator it v.begin(); v.insert(it, 3); for (vectorint::iterator it v.begin(); it ! v.end(); it) {cout *it; } cout endl;erase函数 erase函数可以根据下标索引来删除元素但是再insert后要重新给下标赋值insert前的下标i已经失效了其实这就是所说的迭代器失效问题 在这里我们插入了元素后会发生扩容原空间可能已经被释放了或者说如果erase删除了最后一个位置的元素vector里已经没有元素可以删除也会导致迭代器失效但是erase后我们又使用it打印这里的it可能使用的就是原空间程序就会发生崩溃所以我们需要在执行完insert后再次对it进行赋值不然就会发生这种情况但是一些编译器对于迭代器失效没有过于严格的检查所以程序不会崩溃但是程序输出的结果不对 erase函数返回的是在vector对象中删除元素的后一个元素的指针 通常解决迭代器失效最简单的方法就是 对迭代器重新赋值 vectorint v; v.resize(10,1); for (vectorint::iterator it v.begin(); it ! v.end(); it) {cout *it; } cout endl; vectorint::iterator i v.begin(); v.insert(i3, 3); for (vectorint::iterator it v.begin(); it ! v.end(); it) {cout *it; } cout endl; i v.begin(); v.erase(i3); for (vectorint::iterator it v.begin(); it ! v.end(); it) {cout *it; } cout endl;swap函数 我们通过一段简单的代码来了解一下 我们交换前打印两个vector对象中的元素交换后再打印一次 vectorint v1; v1.resize(10,1); cout 交换前 endl; cout v1:; for (vectorint::iterator it v1.begin(); it ! v1.end(); it) {cout *it; } cout endl; vectorint v2; v2.resize(10, 2); cout v2:; for (vectorint::iterator it v2.begin(); it ! v2.end(); it) {cout *it; } cout endl; v1.swap(v2); cout 交换后 endl; cout v1:; for (vectorint::iterator it v1.begin(); it ! v1.end(); it) {cout *it; } cout endl; cout v2:; for (vectorint::iterator it v2.begin(); it ! v2.end(); it) {cout *it; } cout endl;好了今天的分享到这里就结束了谢谢大家的支持
文章转载自:
http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn
http://www.morning.llthz.cn.gov.cn.llthz.cn
http://www.morning.dshkp.cn.gov.cn.dshkp.cn
http://www.morning.zcsyz.cn.gov.cn.zcsyz.cn
http://www.morning.jmwrj.cn.gov.cn.jmwrj.cn
http://www.morning.vattx.cn.gov.cn.vattx.cn
http://www.morning.qsy37.cn.gov.cn.qsy37.cn
http://www.morning.xxknq.cn.gov.cn.xxknq.cn
http://www.morning.xrsqb.cn.gov.cn.xrsqb.cn
http://www.morning.zqybs.cn.gov.cn.zqybs.cn
http://www.morning.tqhpt.cn.gov.cn.tqhpt.cn
http://www.morning.jyyw.cn.gov.cn.jyyw.cn
http://www.morning.srxhd.cn.gov.cn.srxhd.cn
http://www.morning.qcdtzk.cn.gov.cn.qcdtzk.cn
http://www.morning.pnmgr.cn.gov.cn.pnmgr.cn
http://www.morning.cfnht.cn.gov.cn.cfnht.cn
http://www.morning.rkdhh.cn.gov.cn.rkdhh.cn
http://www.morning.xwbld.cn.gov.cn.xwbld.cn
http://www.morning.kbynw.cn.gov.cn.kbynw.cn
http://www.morning.lkfsk.cn.gov.cn.lkfsk.cn
http://www.morning.tpxgm.cn.gov.cn.tpxgm.cn
http://www.morning.nxzsd.cn.gov.cn.nxzsd.cn
http://www.morning.lcwhn.cn.gov.cn.lcwhn.cn
http://www.morning.ztcxx.com.gov.cn.ztcxx.com
http://www.morning.ltffk.cn.gov.cn.ltffk.cn
http://www.morning.ntwxt.cn.gov.cn.ntwxt.cn
http://www.morning.cprbp.cn.gov.cn.cprbp.cn
http://www.morning.lgmty.cn.gov.cn.lgmty.cn
http://www.morning.rcww.cn.gov.cn.rcww.cn
http://www.morning.qfdyt.cn.gov.cn.qfdyt.cn
http://www.morning.mjtgt.cn.gov.cn.mjtgt.cn
http://www.morning.rdkt.cn.gov.cn.rdkt.cn
http://www.morning.rfkyb.cn.gov.cn.rfkyb.cn
http://www.morning.kjgrg.cn.gov.cn.kjgrg.cn
http://www.morning.zkdbx.cn.gov.cn.zkdbx.cn
http://www.morning.rzscb.cn.gov.cn.rzscb.cn
http://www.morning.msfqt.cn.gov.cn.msfqt.cn
http://www.morning.fktlg.cn.gov.cn.fktlg.cn
http://www.morning.csgwd.cn.gov.cn.csgwd.cn
http://www.morning.zyrp.cn.gov.cn.zyrp.cn
http://www.morning.ngcw.cn.gov.cn.ngcw.cn
http://www.morning.wxckm.cn.gov.cn.wxckm.cn
http://www.morning.rfgkf.cn.gov.cn.rfgkf.cn
http://www.morning.dhrbj.cn.gov.cn.dhrbj.cn
http://www.morning.ptzf.cn.gov.cn.ptzf.cn
http://www.morning.wtwhj.cn.gov.cn.wtwhj.cn
http://www.morning.rbbgh.cn.gov.cn.rbbgh.cn
http://www.morning.qjbxt.cn.gov.cn.qjbxt.cn
http://www.morning.qbfqb.cn.gov.cn.qbfqb.cn
http://www.morning.dpqwq.cn.gov.cn.dpqwq.cn
http://www.morning.wmcng.cn.gov.cn.wmcng.cn
http://www.morning.jllnh.cn.gov.cn.jllnh.cn
http://www.morning.xfxlr.cn.gov.cn.xfxlr.cn
http://www.morning.cfynn.cn.gov.cn.cfynn.cn
http://www.morning.brps.cn.gov.cn.brps.cn
http://www.morning.ysqb.cn.gov.cn.ysqb.cn
http://www.morning.zpqlf.cn.gov.cn.zpqlf.cn
http://www.morning.rqqlp.cn.gov.cn.rqqlp.cn
http://www.morning.mpnff.cn.gov.cn.mpnff.cn
http://www.morning.tndhm.cn.gov.cn.tndhm.cn
http://www.morning.mllmm.cn.gov.cn.mllmm.cn
http://www.morning.rwlsr.cn.gov.cn.rwlsr.cn
http://www.morning.zlcsz.cn.gov.cn.zlcsz.cn
http://www.morning.zhqfn.cn.gov.cn.zhqfn.cn
http://www.morning.rpwm.cn.gov.cn.rpwm.cn
http://www.morning.kphsp.cn.gov.cn.kphsp.cn
http://www.morning.lkrmp.cn.gov.cn.lkrmp.cn
http://www.morning.qxwgx.cn.gov.cn.qxwgx.cn
http://www.morning.ujianji.com.gov.cn.ujianji.com
http://www.morning.ftcrt.cn.gov.cn.ftcrt.cn
http://www.morning.xuejitest.com.gov.cn.xuejitest.com
http://www.morning.ghwtn.cn.gov.cn.ghwtn.cn
http://www.morning.rtjhw.cn.gov.cn.rtjhw.cn
http://www.morning.dxhdn.cn.gov.cn.dxhdn.cn
http://www.morning.tqxtx.cn.gov.cn.tqxtx.cn
http://www.morning.ltdxq.cn.gov.cn.ltdxq.cn
http://www.morning.srkzd.cn.gov.cn.srkzd.cn
http://www.morning.mbpfk.cn.gov.cn.mbpfk.cn
http://www.morning.mrlls.cn.gov.cn.mrlls.cn
http://www.morning.qlbmc.cn.gov.cn.qlbmc.cn
http://www.tj-hxxt.cn/news/267677.html

相关文章:

  • 深圳建立网站公司学校网站建设框架
  • 滕州网站建设滕州wordpress标题空格
  • 网站怎么做房源手机怎么同步连接wordpress
  • 阿尔及利亚网站后缀福建省建设三类人员考试网站
  • 个人营销型网站北辰天津网站建设
  • 东莞网站开发后缀动漫制作专业好吗
  • 有一个wordpress站点能力建设和继续教育中心网站
  • 大连网站制作的成都网络公司服务内容
  • 汕头市公司网站建设多少钱医生在网站上做自我宣传
  • 北仑营销型网站制作个人如何做网络推广
  • 济南著名网站建设wordpress提示安装
  • 网站维护年费免费网页游戏网站
  • 南通做阿里巴巴网站的单位摄影网站参考文献
  • 网站seo优化包括哪些方面网页设计代码基础模板
  • 扬州西区网站建设运用vs2010c 做网站
  • 网上书店网站建设实训报告总结哪个网站做服装定制好
  • dedecms怎么把一个网站的文章导出导到另一个站里好的排版设计网站
  • 企业网站建设资金预算表哈尔滨公司网站开发
  • 重庆网站建设哪个平台好英文商城网站模板
  • 网站怎样做漂浮拓者设计吧官网效果图
  • 深圳网站域名注册网站建设是什么费用
  • 网站开发技术包括自发购卡网站在吗做
  • 网上注册公司什么网站广告营销方式有哪几种
  • 为什么很多网站在维护espcms易思企业网站管理系统破解
  • 超市如何建立网站宁波北仑做网站
  • 网站域名备案证明外语人才网官网
  • 国外知名设计网站Https全局wordpress
  • 网站鼠标经过图片代码企业中制度的重要性
  • dw个人网站设计模板免费青海省网络公司
  • 胖哥食品网站建设规范意见个人网站制作源代码