C++ Vector使用示例代码分析
需积分: 5 173 浏览量
更新于2024-11-22
收藏 943B ZIP 举报
资源摘要信息:"C++ vector相关示例代码"
在C++编程语言中,vector是一个能够存放任意类型的动态数组,属于标准模板库(Standard Template Library,简称STL)中的一个容器。它能够存储连续的内存空间,允许在运行时动态的增加或减少元素的数量。vector由于其灵活性和方便性,在日常编程中被广泛使用。本示例将展示如何使用vector容器,包括创建、添加元素、遍历、删除元素以及如何使用其成员函数来管理数据。
### 1. vector的创建和初始化
在C++中,可以使用多种方式创建和初始化vector对象:
- 默认构造函数创建一个空的vector。
- 使用花括号初始化列表初始化vector。
- 通过拷贝已有的vector来创建新的vector。
- 使用迭代器范围构造vector。
示例代码如下:
```cpp
#include <iostream>
#include <vector>
int main() {
// 使用默认构造函数
std::vector<int> vec;
// 使用花括号初始化列表
std::vector<int> vec_init{1, 2, 3, 4, 5};
// 拷贝构造函数
std::vector<int> vec_copy(vec_init);
// 使用迭代器范围构造vector
std::vector<int> vec_range(vec.begin(), vec.begin() + 3);
return 0;
}
```
### 2. 添加元素
vector提供多种方式添加元素:
- 使用`push_back()`成员函数在vector末尾添加元素。
- 使用`insert()`成员函数在指定位置插入元素。
- 使用`resize()`成员函数改变vector大小,若新大小大于原大小,则在末尾添加新元素。
示例代码如下:
```cpp
// 继续main函数
vec.push_back(6); // 在末尾添加元素6
vec.insert(vec.begin(), 0); // 在开始位置插入元素0
// 调整vector大小,并在末尾添加元素7和8
vec.resize(vec.size() + 2, 7);
vec.resize(10, 8); // 新大小为10,多出位置用8填充
return 0;
```
### 3. 遍历vector
遍历vector中的元素可以使用多种方法:
- 使用基于索引的循环。
- 使用范围for循环。
- 使用迭代器。
示例代码如下:
```cpp
// 继续main函数
// 使用索引遍历
for(int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << ' ';
}
// 使用范围for循环遍历
for(auto& elem : vec) {
std::cout << elem << ' ';
}
// 使用迭代器遍历
for(auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << ' ';
}
return 0;
```
### 4. 删除元素
vector提供了几种删除元素的方法:
- 使用`pop_back()`成员函数移除vector的最后一个元素。
- 使用`erase()`成员函数移除指定位置的元素或指定范围内的元素。
- 使用`clear()`成员函数清除所有元素。
示例代码如下:
```cpp
// 继续main函数
vec.pop_back(); // 移除最后一个元素
// 使用erase删除元素,删除begin()到begin()+2范围内的元素
vec.erase(vec.begin(), vec.begin() + 2);
// 清除所有元素
vec.clear();
return 0;
```
### 5. 其他常用操作
vector提供很多其他有用的成员函数,例如:
- `size()`返回vector中的元素数量。
- `capacity()`返回vector的容量,即不进行内存重新分配的情况下vector所能容纳的元素的最大数量。
- `empty()`检查vector是否为空。
- `reserve()`请求vector容量至少能容纳指定数量的元素。
示例代码如下:
```cpp
// 继续main函数
int sz = vec.size(); // 获取元素数量
int cap = vec.capacity(); // 获取vector容量
bool is_empty = vec.empty(); // 检查vector是否为空
// 增加vector的容量为100
vec.reserve(100);
return 0;
```
### 结语
在C++中,vector是一个功能强大的容器,通过掌握其提供的各种操作,可以有效地进行数据的存储和管理。上述示例代码仅展示了部分常用操作,更多的细节和高级用法可在实际编程中进一步探索和应用。希望本示例能够帮助读者更好地理解和使用C++中的vector容器。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-07-16 上传
2021-07-16 上传
2021-07-14 上传
2021-07-16 上传
2021-07-16 上传
2021-07-14 上传
weixin_38635996
- 粉丝: 3
- 资源: 851
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程