vector的使用方法.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
![preview](https://dl-preview.csdnimg.cn/86830315/0001-ec11b8de457b9ffab3d9d5ce2cfd71ec_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
在C++编程中,`std::vector`是一个非常重要的容器,它作为动态数组,允许我们在运行时灵活地添加或移除元素。这篇文档主要介绍了`vector`的基本使用方法,包括定义、赋值、迭代器、增加元素、删除元素、引用元素、查找以及排序。 1. **定义和赋值**: - `vector<int> viCount;` 创建了一个空的整型`vector`。 - `vector<int> viLen[10];` 创建了一个大小为10的整型`vector`数组。 - `vector<string> vsZqdm;` 定义了一个字符串型的`vector`。 - 对于自定义类型,如结构体`ZQXX`,可以创建`vector<ZQXX> vZqdm;`。 2. **迭代器(iterator)**: - 迭代器类似于指针,用于遍历`vector`中的元素。例如,`vector<int>::iterator it;`定义了一个指向`vector<int>`元素的迭代器。 - `begin()`函数返回指向`vector`第一个元素的迭代器,`end()`返回指向最后一个元素之后的位置。 - 通过`*it`可以访问迭代器所指向的元素值。 3. **增加元素**: - `push_back()`函数在`vector`末尾添加元素,如`viCount.push_back(10);`。 - `insert()`函数可以在指定位置插入元素,需要一个迭代器来定位,如`viCount.insert(it, 11);`在开头插入元素。 4. **删除元素**: - `clear()`函数清空整个`vector`,如`vZqdm.clear();`。 - `erase()`函数用于删除单个元素(`viCount.erase(it);`)或范围内的元素(`viCount.erase(it0, it1);`)。 5. **引用元素**: - 通过索引(`[]`)和`at()`函数可以直接引用元素,如`viCount[1]`或`viCount.at(2)`。 - 迭代器也可以用来引用元素,如`zq = *it;`或`memcpy(&zq, it, sizeof(zq));`。 6. **查找**: - 对于标准类型,可以使用`find()`函数查找特定值,如`it1 = find(viCount.begin(), viCount.end(), 4);`。 - 自定义类型需提供自己的`find()`函数实现。 7. **排序**: - 使用`std::sort()`函数可以对`vector`进行排序,如`sort(vCount.begin(), vCount.end());`进行升序排序。 - 对于自定义类型,需要提供一个比较函数来指导排序,例如,若要降序排序,需要自定义比较函数并传递给`sort()`。 这些基本操作构成了`vector`的主要使用方式,它们在实际编程中非常常见,尤其是在处理动态数据集合时。熟练掌握`vector`的使用能够极大地提高代码的效率和可读性。同时,`vector`是C++标准模板库(STL)的重要组成部分,理解它的原理和使用有助于更好地利用STL提供的其他容器和算法。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/release/download_crawler_static/86830315/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86830315/bg2.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86830315/bg3.jpg)
剩余15页未读,继续阅读
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/a71a690a54794121897a1839eb6efba6_g11176593.jpg!1)
- 粉丝: 6713
- 资源: 3万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- Leawo Prof. Media 是一款全面的多媒体处理软件套装,旨在提供用户高效、全面的视频、音频和光盘工具
- 2405-1.09818
- OpenWrtImmortalWrt 官方 ImageBuilder 的自定义固件,使用 Docker 编译,无需配置编译环境
- Filmworkz Phoenix 是一款功能强大的视频编辑和后期处理软件,专为专业用户和电影制作人员设计
- 创建一个简单的待办事项(Todo)应用,其中包括添加、编辑和删除待办事项的功能
- 2018年国赛数模相关资料C题
- 2018年国赛数模相关资料D题
- 基于Node.js+MySQL开发的开源微信小程序商城(微信小程序)
- CyberLink ColorDirector Ultra 是一款专业的视频色彩校正与调整软件,旨在帮助用户轻松实现高质量的视频
- 跨平台WEB前端开发框架.rar
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)