这个vector是STL初学者最先接触到的数据结构,其他的STL里的函数都可以从他这里找来对照,是比较基础的数据结构,但是在其他一些往后的东西里可以起到一些骚作用。
vector是一种非常好用的数据结构,用好了完全可以代替c++原本的数组。
不过你要非要用数组也没人拦你
创建与初始化
vector的头文件是vector如果你是万能头选手当我没说
创建vector数组的时候而只需要考虑数据类型即可。
vector<int> v;
vector<double> v2;
vector<char> v3;
或者也有二维容器的存在
vector<int> v1[1001];
vector<double> v2[1001];
vector<char> v3[1001];
数据类型甚至可以是结构体
#include<bits/stdc++.h>
using namespace std;
struct node}{
int x,y;
};
vector<node> v;
int main(){
return 0;
}
这是创建
基础操作
比较基础的操作有放入,删除,插入,求长度等
vector<int> v1;
vector<int> v2[1001]
int main(){
int a=1;
vector<int>::iterator it;//迭代器
v1.push_back(a);//放入
v1.pop_back();//删除最后一个元素
v1.insert(/*迭代器位置(下标)*/, /*有几个元素*/,/*元素*/);//注意,如果全填了,代表往迭代器指向位置pos插入count个元素ele
int len1=v2.size();//一维求大小
int len2=sizeof(v2);
return 0;
}
其他函数
#include<bits/stdc++.h>
using namespace std;
vector<int> v;
int main(){
int be=v.begin();//返回一个当前vector容器中起始元素的迭代器;
int en=v.end();//返回一个当前vector容器中末尾元素的迭代器;
int fr=v.front();//返回当前vector容器中起始元素的引用;
int ba=v.back();//返回当前vector容器中末尾元素的引用;
v.reserve(10);
/*
reserve()函数tips
1.reserve方法被用来重新分配vector的容量大小;
2.只有当所申请的容量大小n大于vector的当前容量时,才会重新为vector分配存储空间;
3.reserve方法对于vector的大小(即size)没有任何影响;
*/
int ca=v.capicity();//当前vector最多能使用的存储空间,大于等于size;
return 0;
}
这就是大多vector动态数组的常用函数,如果神犇们有其他的,欢迎评论区补充。如果能再点个赞,那可就再好不过了。