vector常用函数
vector常用函数
1.push_back()
a.push_back()就是在a数组后添加一个元素
#include<stdio.h>
#include<iostream>
#include<vector>
using namespace std;
vector<int> a;
int main()
{
for(int i=1;i<=3;i++) a.push_back(i);
for(int i=0;i<a.size();i++) cout << a[i] << " ";
return 0;
}
输出结果
1 2 3
2.pop_back()
a.pop_back 删除a数组的最后一个元素
#include<stdio.h>
#include<iostream>
#include<vector>
using namespace std;
vector<int> a;
int main()
{
for(int i=1;i<=3 ;i++) a.push_back(i);
a.pop_back();
for(int i=0;i<a.size();i++) cout << a[i] << " ";
return 0;
}
输出结果
1 2
3.insert()
a.insert(a.begin()+2,-1)
将数字-1插入到a数组中迭代器为2的位置
#include<stdio.h>
#include<iostream>
#include<vector>
using namespace std;
vector<int> a;
int main()
{
for(int i=1;i<=3;i++) a.push_back(i);
//a.pop_back();
a.insert(a.begin()+2,-1);//将数字2插入到a[2]处
for(int i=0;i<a.size();i++) cout << a[i] << " ";
return 0;
}
输出结果
1 2 -1 3
insert(a.end(),b.begin(),b.end())
在a数组后插入b数组[begin,end]区间里的数
#include<stdio.h>
#include<iostream>
#include<vector>
using namespace std;
vector<int> a,b;
int main()
{
for(int i=1;i<=3;i++) a.push_back(i);
//a.pop_back();
a.insert(a.begin()+2,-1);//将数字2插入到a[2]处
for(int i=20;i<=23;i++) b.push_back(i);
a.insert(a.end(),b.begin(),b.end());
for(int i=0;i<a.size();i++) cout << a[i] << " ";
return 0;
}
输出结果
1 2 -1 3 20 21 22 23
4.erase()
a.erase(x)
即删除数组a中迭代器为x处的数
erase(first,last)
即删除区间[fitst,last]内的数
清空vector可以使用v.erase(v.begin(),v.end())
或者clear()
#include<stdio.h>
#include<iostream>
#include<vector>
using namespace std;
vector<int> a,b;
int main()
{
for(int i=1;i<=3;i++) a.push_back(i);
a.erase(a.begin()+2);
for(int i=0;i<a.size();i++) cout << a[i] << " ";
return 0;
}
输出结果
1 2
#include<stdio.h>
#include<iostream>
#include<vector>
using namespace std;
vector<int> a,b;
int main()
{
for(int i=1;i<=6;i++) a.push_back(i);
a.erase(a.begin()+3,a.end());
for(int i=0;i<a.size();i++) cout << a[i] << " ";
return 0;
}
输出结果
1 2 3
5.assign()
b.assign(a.begin(),b.begin()+3)
将a的0-2的元素赋值给b
#include<stdio.h>
#include<iostream>
#include<vector>
using namespace std;
vector<int> a,b;
int main()
{
for(int i=1;i<=6;i++) a.push_back(i);
b.assign(a.begin(),a.begin()+3);
for(int i=0;i<b.size();i++) cout << b[i] << " ";
return 0;
}
输出结果
1 2 3