C++中vector容器的基本用法总结

本文详细介绍C++中的Vector容器,包括如何包含文件、声明变量、基本操作如插入、删除、排序等,以及常用的算法如reverse和sort。
部署运行你感兴趣的模型镜像

在C++中,vector是一个十分有用的容器,下面根据多篇文章对这个vector做一下总结。

1.文件包含

首先在程序开头处加上#include以包含所需要的类文件vector,还有一定要加上using namespace std;

#include <vector>
using namespace std;

2.变量声明

例2.1:
声明一个int向量以替代一维的数组:
vector <int> vec;
(等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除)。
例2.2:
用vector代替二维数组:
vector<vector<float>> vec;

3.基本操作

(1)尾部插入数字:vec.push_back(a);

(2)去掉数组的最后一个数据:vec.pop_back();

(4)得到编号位置的数据:at

(5)使用迭代器访问元素.

vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
    cout<<*it<<endl;

(6)插入元素:
vec.insert(vec.begin()+i,a);
在第i+1个元素前面插入a;

(7)删除元素:
vec.erase(vec.begin()+2);
删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);
删除区间[i,j-1];区间从0开始

(8)向量大小:vec.size();

(9)清空:vec.clear();

(10)判断容器是否为空:vec.empty();

(11)传回第一个数据:vec.front();

4.算法

(1)使用reverse将元素翻转:需要头文件#include<algorithm>,
reverse(vec.begin(),vec.end());
将元素翻转(在vector中,如果一个函数中需要两个迭代器,一般后一个都不包含)。

(2)使用sort排序:需要头文件#include<algorithm>
sort(vec.begin(),vec.end());(默认是按升序排列,即从小到大)。

可以通过重写排序比较函数按照降序比较,如下:
定义排序比较函数:

bool Comp(const int &a,const int &b)
{
    return a>b;
}

调用时:sort(vec.begin(),vec.end(),Comp),这样就降序排序。

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

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
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值