acm社团第三次上课.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
acm社团第三次上课

vector类型 vector称为容器,因为vector能够像容器一样存放各种数据类型的对象,不过,同一个vector中的所有对象都必须是相同数据类型,格式是将数据类型放在vector后面的尖括号中,例如: vectorint ivec; // ivec可存取int类型的元素 vectorstring svec; // svec可存取string类型元素 vector对象的定义和初始化 为了在程序中使用vector类型,必须包含vector头文件,并导入名字空间,如下: #include vector using std::vector; vectorint ivec; 如果不导入名字空间,则需要通过域限定符::引用vector: std::vectorint ivec; vector的几个常用构造函数 vectorT v1; 创建一个空的vector,此vector保存类型为T的对象 vectorT v2(v1); v2是v1的一个副本 vectorT v3(n, i); 用元素个数和元素值初始化vector对象,v3包含n个值为i的元素 vectorT v4(n); 创建一个vector,含有n个元素,元素按缺省值初始化 vector T v(beg,end); 创建一个下标上下界为[beg, end)半闭半开区间的vector 表3-3 vector类型的几个常用构造函数 vectorT v1 创建一个T类型的空的vector对象。 vectorT v2(v1) 用vector对象v1初始化对象v2时,v2中每一个元素都初始化为v1中相应元素的副本,v1和v2必须同元素类型。 vectorint ivec1; // ivec1可存放int类型的元素 vectorint ivec2(ivec1); // 通过从ivec1复制元素来创建ivec2 vectorstring svec(ivec1); // 错误:svec的元素类型是string vectorT v3(n, i) 用元素个数和元素值初始化vector对象。 vectorint ivec4(10, -1); 创建一个包含10个int类型数据的vector,每个元素都初始化为-1; vectorstring svec(10, hi!); 创建一个包含10个string类型数据的vector,每个元素都初始化为hi!。 vectorT v4(n) 创建一个包含n个T类型数据的vector对象,vector中元素的初始化,取决于vector中存储的元素的数据类型,如果vector保存基本数据类型的元素(如int、float),则用0初始化每个元素。 vectorfloat fvec(10); // 10个元素,初始化为0 如果vector保存的是含有构造函数的类类型的元素(string),则用该类型的缺省构造函数初始化每个元素: vectorstring svec(10); // 10 个元素,初始化为空字符串 用静态数组初始化 先创建一个静态数组,存储需要用于初始化vector的值,例如: int ar[10] = { 12, 45, 234, 64, 12, 35, 63, 23, 12, 55 }; 根据需要,按数组地址,定义并初始化一个vector: vector int vec1(ar, ar+10); vector对象的操作 表3-4 常用的vector操作 常用的vector操作 v.empty( ) 如果v为空,则返回true,否则返回false v.size( ) 返回v中实际元素的个数 v.push_back(elem) 在v的末尾增加一个值为elem的元素 v[index] 、v.at(index) 返回v中索引为index的元素 v.begin( )、v.end( ) 指向迭代器中的第一个和最后一个数据地址 v.erase(pos) 删除pos位置的数据,传回下一个数据的位置 v.erase(beg, end) 删除[beg, end)区间的数据,传回下一个数据的位置 v.pop_back( ) 删除最后一个数据 …… …… vector的大小和容量函数 vector的empty( )和size( )函数与string类似,size( )返回vector相应的size_type类型,注意,使用size_type类型时,必须同时包含vector的元素类型: vector::size_type // 错误 vectorint::size_type // 正确 2.向vector中添加元素 push_back( )函数将一个新元素添加到vector对象的后面,也就

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档