"掌握vector的基本用法及常见函数,轻松操作动态数组"
版权申诉
197 浏览量
更新于2024-04-04
收藏 289KB PDF 举报
容器vector称做向量,相当于可以动态改变大小的数组,使用方法简单。vector里提供了大量的函数,许多函数在STL的不同容器里用法基本相同,熟悉了vector再掌握其容器会变得简单。下面将介绍vector的常用方法。
首先,可以通过以下方式进行定义和赋值:
```cpp
vector<int> viCount; // 定义一个空的整型vector
vector<int> viLen[10]; // 定义一个大小为10的整型vector数组
vector<string> vsZqdm; // 定义string型的vector
// 定义一个struct的vector
typedef struct {
char szZqdm[7];
char szZqmc[9];
} ZQXX;
vector<ZQXX> vZqdm;
```
需要注意的是,在定义`vector<string>`后,VC6里可能会出现4786的警告信息,可以使用相关方法来避免。接下来,介绍一些vector的常用方法。
1. `push_back()`: 在vector的末尾添加一个元素。
```cpp
vector<int> vec;
vec.push_back(1);
```
2. `pop_back()`: 删除vector末尾的一个元素。
```cpp
vector<int> vec = {1, 2, 3};
vec.pop_back();
```
3. `size()`: 返回vector中元素的个数。
```cpp
vector<int> vec = {1, 2, 3};
int size = vec.size(); // size is 3
```
4. `clear()`: 清空vector中的所有元素。
```cpp
vector<int> vec = {1, 2, 3};
vec.clear(); // vector becomes empty
```
5. `empty()`: 返回vector是否为空,为空返回true,否则返回false。
```cpp
vector<int> vec;
bool isEmpty = vec.empty(); // isEmpty is true
```
6. `at()`: 访问vector中的指定位置的元素。
```cpp
vector<int> vec = {1, 2, 3};
int element = vec.at(1); // element is 2
```
7. `insert()`: 在vector的指定位置插入一个元素。
```cpp
vector<int> vec = {1, 3, 4};
vec.insert(vec.begin() + 1, 2); // vector becomes {1, 2, 3, 4}
```
8. `erase()`: 删除vector中指定位置的元素。
```cpp
vector<int> vec = {1, 2, 3};
vec.erase(vec.begin() + 1); // vector becomes {1, 3}
```
9. `begin()`和`end()`: 获取vector的起始和结束迭代器。
```cpp
vector<int> vec = {1, 2, 3};
auto start = vec.begin(); // start points to the beginning
auto end = vec.end(); // end points to the end
```
以上是vector的一些常用方法,掌握了这些方法可以更加灵活地操作vector容器。通过不断练习和实践,对vector的使用会变得更加熟练,帮助提升编程效率和准确性。愿以上内容可以帮助你更好地理解和应用vector容器。
2021-02-25 上传
2020-09-10 上传
2009-06-25 上传
2024-04-13 上传
2023-02-13 上传
2021-11-13 上传
G11176593
- 粉丝: 6917
- 资源: 3万+
最新资源
- 2007QQ 2007QQ
- 电子商务支付安全探讨
- java程序员必去网站集合
- JFreeChart制作图形报表
- jfreechart实现柱状图排序
- java制作报表整合
- 弦信号发生器的设计思路
- Apple公司Darwin流式服务器源代码分析
- 西安交大管理学2008考研试卷
- Matlab 常用命令简介
- MATLAB 编程风格指南 中文版
- ARM devlopment
- struts2+hibernate+spring整合实例+步骤
- Cross-platform GUI programming with wxWidgets.pdf
- 软件设计师考试考点分析与真题详解
- uclunix在lpc2994上的移植.pdf