C++中vector容器的常见用法总结

一、关于vector

vector是一个动态的序列容器,相当于一个size可变的数组。相比于数组,vector会消耗更多的内存以有效的动态增长。vector能更快的索引元素(就像数组一样),而且能相对高效的在尾部插入和删除元素。

当需要使用vector的时候,需要包含头文件:#include <vector>,一般加上using namespace std;

如果不加,则在调用时候必须用std::vector<...>这样的形式,即在vector前加上std::,这表示运用的是std命名空间下的vector容器。

二、常见用法(以int类型为例)

1.声明及初始化

vector<int> a;    //声明一个int型向量a
vector<int> a(10);    //声明一个初始大小为10的向量
vector<int> a(10, 1);    //声明一个初始大小为10且初始值都为1的向量
 
vector<int> b(a);    //声明并用向量a初始化向量b
vector<int> b(a.begin(), a.begin()+3);    //将a向量中从第0个到第2个(共3个)作为向量b的初始值   
 
int n[] = {1, 2, 3, 4, 5};
vector<int> a(n, n+5);    //将数组n的前5个元素作为向量a的初值
vector<int> a(&n[1], &n[4]);    //将n[1] - n[4]范围内的元素作为向量a的初值

2.添加元素

vector<int> a;
a.push_back(1);    //在尾部加入一个数据
a.push_back(2);
a.pop_back();      //删除最后一个数据
a.insert(a.begin(), 0);    //在a.begin()之前加入0
a.erase(a.begin());    //将a.begin()的元素删除
a.erase(a.begin() + 1, a.end());    //将第二个元素以后的元素均删除

3.判断vector是否为空

vector<int> a;
if(a.empty()){
    a.push_back(1);
}

4.遍历访问vector

vector<int> a;
//像数组一样以下标访问 
for(int i = 0; i < a.size(); i++){
    cout << a[i];
}
 
//以迭代器访问
vector<int>::iterator it;
for(it=a.begin(); it!=a.end(); it++){
    cout<<*it<<" " ;
}

5.排序必须包含algorithm头文件

#include <algorithm>
 
vector<int> a;
sort(a.begin(), a.end());

6.以vector实现二维数组

vector<vector<int>> a(10, vector<int>(5));    //创建一个10行5列的int型二维数组 相当于a[10][5];

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C++vector是一个动态数组容器,可以存储任意类型的元素。它提供了许多方法来方便地操作和管理数组。 以下是C++vector容器的一些常用用法: 1. 包含头文件: ```cpp #include <vector> ``` 2. 创建Vector对象: ```cpp std::vector<T> vec; // 创建一个空的vector std::vector<T> vec(size); // 创建一个具有指定大小的vector std::vector<T> vec(size, value); // 创建一个具有指定大小和初始值的vector ``` 3. 添加元素: - 使用push_back()方法在vector末尾添加元素: ```cpp vec.push_back(element); ``` - 使用insert()方法在指定位置插入元素: ```cpp vec.insert(vec.begin() + index, element); ``` 4. 访问元素: - 使用下标运算符[]访问指定索引位置的元素: ```cpp T element = vec[index]; ``` - 使用at()方法访问指定索引位置的元素,可以进行越界检查: ```cpp T element = vec.at(index); ``` 5. 获取容器大小: ```cpp int size = vec.size(); // 获取容器元素的个数 ``` 6. 遍历容器: - 使用for循环遍历: ```cpp for (int i = 0; i < vec.size(); ++i) { // 处理vec[i] } ``` - 使用迭代器遍历: ```cpp for (auto it = vec.begin(); it != vec.end(); ++it) { // 处理*it } ``` - 使用C++11的范围for循环遍历: ```cpp for (const auto& element : vec) { // 处理element } ``` 这些只是vector容器的一些基本用法,还有许多其他方法可以用于插入、删除、修改和查找元素。你可以根据具体需求选择适合的方法来操作vector容器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值