- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++中vector使用范例.pdf
C++中的vector使用范例
一、概述
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的
模板类和函数库。vector 是一个容器,它能够存放各种类型的对象,简单地说,vector 是一个能
够存放任意类型的动态数组,可以动态改变大小。
例如:
//c 语言风格
int myHouse[100];
// 采用vector
vectorint vecMyHouse(100);
当如上定义后,vecMyHouse 就可以存放100个int 型的数据了。
1. 它可以像普通数组一样访问
eg: vecMyHouse[50]= 1024;
2. 你可以顺序地向容器中填充数据
eg:int i=0;
for( ;i 25; i++ )
{
vecMyHouse.push_back(1);
}
3. 它还可以动态地改变它的大小,通过下面这条语句实现
// 将容器的大小改为400,这样容器中就可以容纳400个int 型数据了
eg:vecMyHouse.resize(400);
4. 你也可以在容器中装入自定义的数据类型
eg:
// 自定义一个class
class Cmyclass
{
};
// 定义一个存放class 的容器
vectorCmyclass vecMyHouse;
5. 你可以在定义容器时为它赋初值
// 定义一个容纳100个int 型数据的容器,初值赋为0
vectorint vecMyHouse(100,0);
6. 你可以把一个容器的对象赋值给另外一个容器
eg:
// 定义一个容纳100个int 型数据的容器,初值赋为0
vectorint vecMyHouse(100,0);
// 定义一个新的容器,内容与上述容器一样
vectorint myVec;
myVec= vecMyHouse;
二、 以上是vector 容器的简单介绍,下面将详细介绍它的其他功能:
1. 为了使用vector,必须在你的头文件中包含下面的代码:
#include vector
2. vector属于std命名域的,因此需要通过命名限定,可以在文件开头加上
usingstd::vector;
或者
usingnamespace std;
或者直接在使用vector 的代码前加前缀
eg:
std::vectorint myHouse;
3. vector提供如下函数或操作:
下面列举了部分常用的功能
// 定义一个vector
std::vectorint c;
// 可以使用的功能
c.clear() 移除容器中所有数据。
c.empty() 判断容器是否为空。
c.erase(pos) 删除pos 位置的数据
c.erase(beg,end) 删除[beg,end)区间的数据
c.front() 传回第一个数据。
c.insert(pos,elem) 在pos 位置插入一个elem拷贝
c.pop_back() 删除最后一个数据。
c.push_back(elem) 在尾部加入一个数据。
c.resize(num) 重新设置该容器的大小
c.size() 回容器中实际数据的个数。
c.begin() 返回指向容器第一个元素的迭代器
c.end() 返回指向容器最后一个元素的迭代器
三、下面描述一下什么是迭代器
迭代器相当于指针,例如:
// 对于变量而言,使用指针指向对应的变量
// 以后就可以使用 * 加指针来操作该变量了
int a = 10;
int *p;
p= a;
// 使用指针操作该变量
eg: *p=11; // 操作后a 变为 11
// 对于容器,使用迭代器操作容器中对应位置的值
// 当迭代器指向了容器中的某位置,则可以使用 * 加迭代器操作该位置了
// 定义一个vector
std::vectorint myVec;
//添加10个元素
for(int j=0; j10 ;j++)
{
myVec.push_back(j);
}
// 定义一个迭代器
std::vectorint::iteratorp;
// 指向容器的首个元素
p= myVec.begin();
// 移动到下一个元素
p++;
// 修改该元素赋值
您可能关注的文档
- ABAP Smartforms 学习操作手册.pdf
- ABAQUS子程序帮助文档.pdf
- ABB MNS2.0 低压开关柜样本.pdf
- ABB软启动器-样本.pdf
- AC-145-4维修记录与报告表格填写指南.pdf
- ACCA网上注册步骤图文说明.pdf
- Access 查询上机操作(二).doc
- ACS758电流传感器说明书.pdf
- adc0809中文资料手册.pdf
- AES 文件加密解密 课程设计报告.pdf
- 2024_2025学年新教材高中化学第二章海水中的重要元素__钠和氯实验活动1配制一定物质的量浓度的溶液学案新人教版必修1.docx
- 2024九年级化学上学期期中卷3科学版.docx
- 2024_2025学年新教材高中地理第六章自然灾害第3节防灾减灾学案新人教版必修1.doc
- 2024_2025学年高中政治第三单元思想方法与创新意识第七课第一课时世界是普遍联系的学案新人教版必修4.doc
- 2024高考化学一轮复习课练30物质的检验分离和提纯含解析.doc
- 2024九年级数学上学期期末测试题新版华东师大版.docx
- 2024九年级物理全册第十三章内能单元测试题含解析新版新人教版.doc
- 2024九年级化学下册第六章金属达标测试卷新版粤教版.doc
- 一年级语文上册课文1语文园地四教案新人教版.doc
- 2024九年级化学上学期期末卷2新版沪教版.docx
文档评论(0)