C++学习Vol1:vector的用法

一、基本概念

使用它首先要引入头文件

#include <vector>

它是一个封装了动态大小数组的顺序容器。在C++、Java中的数组就是顺序存储数组的,且不能像Python那样在一个数组中存储多种数据类型的数据,不过那种一般属于列表。

由于它用来存储动态数组,所以一般来说应该使用在获取用户输入等类似的应用场景,而不是用来存储固定长度数组的。

二、使用格式

vector<类型>标识符
vector<类型>标识符(最大容量)
vector<类型>标识符(最大容量,初始所有值)
 
int i[5]={1,2,3,4,5}
vector<类型>vi(i,i+2);//得到i索引值为3以后的值
 
vector<vector<int>>v; 二维向量//这里最外的<>要有空格。否则在比较旧的编译器下无法通过

可以看到,它的使用方式为:首先声明vector关键字,然后在后面的尖括号中写上数据类型 ,定义这个数组的数据类型,之后写上标识符,一个vector动态数组就如此定义完成,但如果还想添加它的最大容量和初始所有值,可以在后面的圆括号中进行添加。

上面例子给出的用法,是定义一个长度为5的整形数组,赋值初始值为12345,然后将数组的首地址传给了标识符后的最大容量位置,将数组中的3传入了初始所有值的位置。

它里面涉及到的函数有

push_back()  //在数组的最后添加一个数据
 
pop_back() //去掉数组的最后一个数据
 
at()  //得到编号位置的数据
 
begin() //得到数组头的指针
 
end() //得到数组的最后一个单元+1的指针
  
find()  //判断元素是否存在
 
front() //得到数组头的引用
 
back() //得到数组的最后一个单元的引用
 
max_size() //得到vector最大可以是多大
 
capacity() //当前vector分配的大小
 
size() //当前使用数据的大小
 
capacity(); //返回a在内存中总共可以容纳的元素个数
 
a.reserve(100); //改变当前vecotr所分配空间的大小将a的容量(capacity)扩充至100,也就是说现在测试a.capacity();的时候返回值是100
 
a.resize(10); //将a的现有元素个数调至10个,多则删,少则补,增加的元素其值默认为0
 
a.resize(10,2); //将a的现有元素个数调至10个,多则删,少则补,增加的元素其值为2
 
erase() //删除指针指向的数据项
 
clear() //清空当前的vector
 
rbegin() //将vector反转后的开始指针返回(其实就是原来的end-1)
 
rend() //将vector反转构的结束指针返回(其实就是原来的begin-1)
 
empty() //判断vector是否为空
 
swap() //与另一个vector交换数据
a.swap(b); //b为向量,将a中的元素和b中的元素进行整体性交换
 
reverse(obj.begin(),obj.end());反向迭代器,实现元素对调

可以使用这些函数来进行动态数组的操作。 

参考文章:C++中的vector的详细用法_c++vector用法-CSDN博客

本人博客内容仅供交流学习用,如涉侵权联系本人侵删。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值