vector实际上类似于a[]这个东西,也就是说它重载了[]运算符。
使用vector时需要加上<vector>这个头文件。
定义方法:vector <类型名> 变量名;
例如:
vector <int> a;操作方法:
vector <char> b;
vector <data> c; //data为自定义的数据类型,可以为结构体
a[i] | 返回动态数组中的第i个元素 |
a.empty() | 若动态数组为空,则返回true,否则返回false |
a.size() | 返回动态数组中元素的个数 |
a.resize(x) | 修改动态数组大小为x |
a.push_back(x) | 将x插入动态数组尾部 |
a.pop_back() | 删除动态数组尾部的元素 |
a.begin() | 返回指向动态数组头部的指针 |
a.end() | 返回指向动态数组尾部元素的后一个元素的指针 |
c.clear() 移除容器中所有数据。
c.erase(pos) 删除pos位置的数据
c.erase(beg,end) 删除[beg,end)区间的数据
c.front() 传回第一个数据。
c.insert(pos,elem) 在pos位置插入一个elem拷贝
使用vector的排序模版:
#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> a;
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
int tmp;
scanf("%d",&tmp);
a.push_back(tmp);
}
sort(a.begin(),a.end());
for(int i=0;i<n;i++) printf("%d ",a[i]);
return 0;
}