vector使用
C++中创建数组需要引用头文件#include<vector>
vec.push_back(1); //在vec数组最后添加一个元素“1”,void类型 |
vec.pop_back(); //移除vec数组最后一个元素,void类型 |
vec.back(); //返回vec数组最后一个元素,int类型 |
vec.front(); //返回vec数组第一个元素,int类型 |
vec.size(); //返回vec数组中元素数量,int类型 |
vec.capacity(); //返回vec数组中所能容纳的元素数量,在不重新分配内存的情况下,int类型 |
vec.resize(n);或vec.resize(n,m); //改变vec数组元素数量大小,若size大于删除大于n的部分若size小于n则 //默认补 “0”,若按照第二种则都补充“m”,void类型 |
vec.clear(); //清楚vec数组所有元素,size() = 0,capacity()不变,void类型 |
vec.empty(); //判断vec数组是否为空数组,是则返回“1”,不是则返回“0”,int类型 |
vec1.swap(vec2); //交换vec1和vec2两个数组,即名字交换 |
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> vec = { 1,2,3,4,5 };
vec.push_back(1);//在数组最后一位的后面添加一个元素
vec.pop_back();//移除数组最后一个元素
cout << "返回数组中最后一个元素" << endl << vec.back() << endl;//back()返回数组中最后一个元素
cout << "返回数组中第一个元素" << endl << vec.front() << endl;//front()返回数组中第一个元素
cout << "返回数组中元素的数量" << endl << vec.size() << endl; //size()返回数组中元素数量
cout << "返回数组所能容纳的元素的数量" << endl << vec.capacity() << endl;//capacity()返回数组中所能容纳元素的数量
vec.resize(6,6);//resize()改变数组中含有元素数量的大小,多删少补
cout << "返回元素是否为空" << endl << vec.empty() << endl;//empty()判断数组是否非空(是否还存有元素),空为1,不空为1
vec.clear();
for (auto it : vec) {
cout << it << " ";
}
vector<int> vec1 = {1,2};
vec.swap(vec1);//swap()交换两个数组,vec.swap(vec1),vec变成vec1,vec1变成vec类似将两个数组名字交换
for (auto it : vec) {
cout << it << " ";
}
vec.clear();
cout << "返回元素是否为空" << endl << vec.empty() << endl;//empty()判断数组是否非空(是否还存有元素),空为1,不空为1
return 0;
}
二维数组
vector<vector<int>> vec = {
{1,2,3},
{4,5,6},
{7,8,9}
};
//在第1行末尾添加一个元素999
vec[1].push_back(999);//{1,2,3,999}
vec.push_back({6,6,6});//添加一行新元素{6,6,6}
vector<vector<int>> vec1(3,vector<int>(5,5));//创建一个二维数组 三行 5列 都是5
vec.back()[2] = 7//把最后一行第三个元素换成7