vector
头文件 #include< vector >
小小的声明
vector<int> a; //声明一个int型变量
vector<int> a(10); //初始化大小为10
vector<int> a(10,1); //初始化大小为10,初始值为1
vector<int> b(a.begin(),a.begin()+3); //用a初始化b,0到第二个
数组的初始化
int n[] = {1, 2, 3, 4, 5} ;
vector<int> a(n, n+5) ; //将数组n的前5个元素作为向量a的初值
vector<int> a(&n[1], &n[4]) ; //将n[1] - n[4]范围内的元素作为向量a的初值
上手输入输出
伪码展示
vector<int> a(10,0);
cin>>a[2];
cin>>a[6];
for(int i = 0; i < a.size(); i++)
{
cout<<a[i]<<' ';
}
//迭代器输出
vector<int>::iterator t;//定义一个迭代器
for( t = a.begin(); t != a.end(); t++)
{
cout<< *t <<' ';//以指针的形式
}
向量vector的基操
1-> a.size()//获取元素个数
2-> a.empty();//判断是否为空
3->a.clear();//清空元素
4-> a = b;
//b赋值给a 整体赋值
5-> a == b;
//相等则返回1
6->insert
{
-> a.insert(a.begin(),1000);//把1000插到起始位置前
-> a.insert(a.begin(),3,1000)//将1000分别插入到向量元素位置的0-2处(共3个元素)
vector<int> a(5,1);
vector<int> b(10);
b.insert(b.begin(),a.begin(),a.end())/*将a.begin(), a.end()之间的全部元素插入到b.begin()前*/
}
7->erase//删除
->a.erase(a.begin());//将起始位置的元素删除
->a.erase(a.begin(),a.begin()+3);
8 ->swap//交换
->b.swap(a);//a向量与b向量进行交换