vector是一个向量,它可以存储任何合法的数据,比如vector<int>,vector<char>,等
它可以存储未知大小的数组,它会自动扩容,而且内置了很多函数,便于数组的相关操作。
#include<iostream>
#include<vector>
#include<string>
using namespace std;
void print(vector<int> a);
int main() {
int b[]= {1,2,3,4,5,6};
vector<int> a; //vector的使用
vector<int> c;
// c[0]=100;
cout<<"assign(4,2)函数的用法"<<endl;
a.assign(4,2); //给a赋值
//打印数组
print(a);
cout<<"a.back()函数的用法"<<endl;
cout<<a.back()<<endl; //返回最后一个元素
cout<<a.front()<<endl; //返回第一个元素
a.clear(); //清空a中的元素
cout << a.empty() <<endl; //判断a是否为空
a.assign(b,b+6); //b为正常数组,b不是向量哦
cout<<"打印一下此时a中的元素"<<endl;
print(a);
a.pop_back();//删除项链a中最后一个元素
cout<<"删除最后一个元素后a"<<endl;
print(a);
a.erase(a.begin()+1,a.begin()+3); //删除第2,3元素
print(a);
a.push_back(6); //在a的最后一个向量后,插入一个元素
print(a);
a.insert(a.begin()+1,2);
a.insert(a.begin()+2,3);
print(a);
a.insert(a.begin()+a.size(),3,8);//插入3个值,其值都为8
print(a);
a.insert(a.begin()+2,b,b+4);//将b数组中前4个元素插入进a中的第3个位置
print(a);
cout <<"a中元素的个数:"<<a.size()<<endl;
cout <<"a的容量:"<<a.capacity()<<endl;
a.resize(10); //多删,少补,值随机。
print(a);
a.resize(13,9); //不够补9
print(a);
a.reserve(100); //扩充容量100
cout <<"a的容量:"<<a.capacity()<<endl;
c.insert(c.begin(),100);
cout<<c[0]<<endl;
a.swap(c);
print(a);
if(a!=c) { //a和c均为向量
cout<< "二者不相等"<<endl;
}
return 0;
}
//打印
void print(vector<int> a) {
for(int i=0; i<a.size(); i++) {
cout <<a[i]<<"\t";
}
cout<<endl<<endl;
}
运行结果: