vector(向量)
声明和定义
vector<int> a; //声明一个存储对象为 int 的向量
vector<int> b(10, 1); //声明一个存储对象为 int 的向量,有10个元素,且都赋值为1;
//以上的"int"也可以换成其他类型变量,double, string, char等等。
//vector不仅可以装变量,它能存放任何类型的对象,结构,类等。举个例子
vector<vector<int>> c; //声明一个存储对象为 vector<int> 的向量
c = {{1,2,3}, {0}, {}}; //定义c(给c赋值)
cout<<c[0][0]; //输出 1 (c中第一个元素的第一个元素)
cout<<c[1][0]; //输出 0 (c中第二个元素的第一个元素)
cout<<c[2][0]; //这样做是错的,没有输出,因为c中第三个元素里没有元素
//聪明的小伙伴应该发现可以套娃了
vector<vector<vector<vector<int>>>> d; //这么声明也是可以的
新手常用内置函数
vector<int> a = {1,2,3};
a.size(); //返回向量a的元素个数即:3
a.push_back(4); //向a的最后添加一个元素4, a现在为{1,2,3,4}
a.pop_out(); //弹出向量a的最后一个元素,a现在为{1,2,3}
a.back(); //返回a的最后一个元素即:3
a.erase(a.begin(), a.begin() + 2) //删除a的[0,2)区间内的元素,a现在为{3}
//值得注意的是,a.begin()是“迭代器”,它是个类模版,表现的像指针但不是指针。
a.insert(a.begin(), 2) //在a的开始位置插入元素: 2, a现在为{2,1,2,3}