vector的用法.docVIP

  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文档。上传文档
查看更多
vector的用法ector的用法

STL中的常用的vector,map,set,Sort用法 C++的标准模板库(Standard Template Library,简称STL)是一个容器和算法的类库。容器往往包含同一类型的数据。STL中比较常用的容器是vector,set和map,比较常用的算法有Sort等。 . 一. vector 1.声明: ? ?? ?? ? 一个vector类似于一个动态的一维数组。 ? ?? ?? ? vectorint a; //声明一个元素为int类型的vector a ? ?? ?? ? vectotMyType a; //声明一个元素为MyType类型的vector a ? ?? ?? ? 这里的声明的a包含0个元素,既a.size()的值为0,但它是动态的,其大小会随着数据的插入 ? ?? ?? ? 和删除改变而改变。 ? ?? ?? ???vectorint a(100, 0); //这里声明的是一已经个存放了100个0的整数vector 2.向量操作 常用函数: ? ?? ?? ? size_t size();? ?? ?? ?? ? // 返回vector的大小,即包含的元素个数 ? ?? ?? ? void pop_back();? ?? ?? ???// 删除vector末尾的元素,vector大小相应减一 ? ?? ?? ? void push_back();? ?? ?? ? //用于在vector的末尾添加元素 ? ?? ?? ? T back();? ?? ?? ?? ?? ?? ?// 返回vector末尾的元素 ? ?? ?? ? void clear();? ?? ?? ?? ???// 将vector清空,vector大小变为0 其他访问方式: ? ?? ?? ? couta[5]endl; ? ?? ?? ? couta.at(5)endl; 以上区别在于后者在访问越界时会抛出异常,而前者不会。 例: int? ?? ?? ?intarray[10];? ? ? ?? ???vectorint? ?? ?? ?first_vector(intarray,? ?? ?? ?intarray? ?? ?? ?+? ?? ?? ?10);? ? ? ?? ???vectorint? ?? ?? ?second_vector(first_vector.begin(),first_vector.end()); class? ?? ?? ?man? ? ? ?? ???{? ? ? ?? ?? ?? ???public:? ? ? ?? ?? ?? ???AnsiStirng? ?? ?? ?id;? ? ? ?? ?? ?? ???AnsiString? ?? ?? ?mc;? ? ? ?? ???}? ? ? ?? ???vectorman? ?? ?? ?manList;? ? ? ?? ???man? ?? ?? ?thisman;? ? ? ?? ???thisman.id=2001;? ? ? ?? ???thisman.name=yourname;? ? ? ?? ???manList.push_back? ?? ?? ?thisman;? ?? ?? ???//加入第一个元素? ? ? ?? ???thisman.id=2002;? ? ? ?? ???thisman.name=myname;? ? ? ?? ???manList.push_back? ?? ?? ?thisman;? ?? ?? ???//加入第二个元素? ? ? ? ? ?? ???manList.clear();? ?? ?? ???//清空?? 3.遍历 ? ?? ?? ? (1).? ?? ?for(vectordatatype::iterator it=a.begin(); it!=a.end();it++) ? ?? ?? ?? ?? ?? ???cout*itendl; ? ?? ?? ? (2).? ???for(int i=0;ia.size;i++) ? ?? ?? ?? ?? ?? ?? ?couta[i]endl; 二. map Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性 map内部的实现自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能。 下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就存在着一一映射的关系,这个模型用map可能轻易描述, 很明显学号用int描述,姓名用字符串描述(本篇文章中不用char *来描述字符串,

文档评论(0)

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

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

1亿VIP精品文档

相关文档