常用STL
🎈1.动态数组
🔎有些时候想开一个数组,但是却不知道要开多大长度的数组合适,因此我们需要用到的数组可能会根据情况变动。这时候我们就需要用到动态数组。所谓动态数组,也就是不定长数组,数组的长度是可以根据我们的需要动态改变的。动态数组的实现也不难,但是C++
里面有已经写好的标准模板库(Standard Template Library
),也就是我们常说的STL
库,实现了集合、映射表、栈、队列等数据结构和排序、查找等算法。我们可以很方便的调用标准库来减少我们的代码量。C++中动态数组写作vector
。
🎈2.vector的基础使用
🔭2.1引入库
引入库:C++
中vector
的实现是在一个<vector>
头文件中,在代码的开头引入这个头文件,并在引入所有头文件之后加上一句using namespace std;
#include <vector>
using namespace std;
int main()
{
return 0;
}
🔭2.2构造一个动态数组
构造一个动态数组:C++
中直接构造出一个vector
的语句为:vector<T>vec
.这样我们定义了一个名为vec
的储存T
类型数据的动态数组。其中T
是我们数组要储存的数据类型,可以是int、float、double、或其他自定义的数据类型等等。
初始的时候vec
是空的。比如vector<int>a
定义了一个储存整数的动态数组a
.
🔭2.3插入元素
C++
中通过push_back()
方法在数组最后面插入一个新的元素。
#include <vector>
using namespace std;
int main()
{
vector<int> vec;//[]
vec.push_back(1);//[1]
vec.push_back(2);//[1,2]
vec.push_back(3);//[1,2,3]
return 0;
}
🔭2.4获取长度并且访问元素
C++
中通过size()
方法获取vector
的长度,通过[]
操作直接访问vector
中的元素,这一点和数组是一样的。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec;//[]
vec.push_back(1);//[1]
vec.push_back(2);//[1,2]
vec.push_back(3);//[1,2,3]
for (int i = 0; i < vec.size(); i++)
{
cout << vec[i] << endl;
}
return 0;
}