一、vector简介
数组尽管很灵活,但使用起来还是很多不方便。为此,C++语言定义了扩展的“抽象数据类型”(AbsraclDalaType, ADT),放在“标准库”中,对数组功能进行扩展的一个标准库类型,就是“容器”vector。顾名思义,vector“容纳”着一堆数据对象,其实就是一组类型相同的数据对象的集合。
二、使用vector时引用头文件和命名空间
使用vector必须必须在程序中包含<vector>头文件,并使用std命名空间
#include<vector> //头文件
using namespace std;//命名空间
三、vector类型与数组的区别
1、数组是更加底层的数据类型;长度固定,功能较少,安全性没有保证;但性能更好,运行更高效。
2、vector 是模板类,是数组的上层抽象;长度不定,功能强大;缺点是运行效率低。
四、vector的基本用法
1、初始化
默认初始化:空容器
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> V1;//名为V1的容器里面包含的都为int的数据
}
列表初始化(拷贝初始化):把一个列表作为初值赋给一个容器,以下两张方式完全等价。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<char> V2={'a','b','c'};
vector<char> V3(a','b','c');
}
直接初始化:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<short> V4(5);//有五个元素的容器元素类型为short默认值为0
vector<long> V5(5,100);///有五个元素的容器元素类型为long默认值为100
}
2.vector的访问与更改(不可越界访问)
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<short> V4(5);//有五个元素的容器元素类型为short默认值为0
vector<long> V5(5,100);///有五个元素的容器元素类型为long默认值为100
//元素的访问
cou<<V5[3]<<endl;
//元素初值的更改
V5[3]=25;
}
3.vector遍历所有元素
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<short> V4(5);//有五个元素的容器元素类型为short默认值为0
vector<long> V5(5,100);///有五个元素的容器元素类型为long默认值为100
V5.size();//获取V5包含的元素个数
//遍历v5
for(int i=0;i<V5.size();i++)
{
cout<<V5[i]<<endl;
}
//方式二
for(int num:v5)
{
cout<<num<<endl;
}
}
4.向容器中添加新元素
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<short> V4(5);//有五个元素的容器元素类型为short默认值为0
vector<long> V5(5,100);///有五个元素的容器元素类型为long默认值为100
//元素的访问
V5.push_back(69);//向V5中一个值为69的数据
}