CPP中vector的用法

HarderHeng Lv5

一、vector理解

vector是用来声明动态数组的,头文件为 < vector >。

vector是线性的,和数组一样可以通过下标进行快速访问

1
2
3
vector<int>Num;
vector<int>Num(2); //只有一个参数时,代表声明的数组长度
vector<int>Num(2,3);//有两个参数时,代表声明的数组长度以及初始化

上述代码创建了一个int类型的可变数组Num,这个数组可以像普通数组一样访问和修改数值。

vector和数组名之间可以加一个空格。数组名后面可以跟括号,括号中可以跟参数。

二、vector常用函数

创建vector后,默认vector中没有元素。

1
2
3
4
5
6
vector<int>Num;
Num.push_back(1); //在数组的末尾添加一个元素1
Num.pop_back(); //在数组的末尾删除一个元素
Num.erase(iterator it); //删除迭代器指向的元素,删除后容器会自动调整
cout<<Num.size()<<endl; //数组的大小
Num.clear(); //清除所有的元素

vector除了通过数组下标进行遍历之外,还可以通过迭代器进行遍历。

1
2
3
4
5
6
vector<int>::iterator it; //声明一个迭代器
for(it = Num.begin(); it < Num.end(); it++){
cout<<*it<<endl;
}
//begin()用来访问数组的起始位置,end()用来访问数组的最后一个元素的后一个位置
//it作为一个数组指针

三、二维数组

创建二维数组时和常规数组类似,总是从低维度操作,高维度存储着低维度的起始位置。

1
2
3
4
5
6
int N=5, M=6; 
vector<vector<int> > obj(N); //定义二维动态数组大小5行
for(int i =0; i< obj.size(); i++)//动态二维数组为5行6列,值全为0
{
obj[i].resize(M);
}
1
vector<vector<int> > obj(N, vector<int>(M)); //定义二维动态数组5行6列 

四、向函数中传递函数指针

在c语言中直接向函数传递

  • Title: CPP中vector的用法
  • Author: HarderHeng
  • Created at : 2024-02-10 10:33:07
  • Updated at : 2024-09-28 11:45:06
  • Link: https://harderheng.life/2024/02/10/Cpp中vector的用法/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments