构造 vector 的四种方法:
#include<iostream> #include<vector> using namespace std; int main() { // 1. 同时展示常用的赋值操作 vector<int> v1; for(int i=0; i < 10; i++) // 赋值 0 1 2 3 4 5 6 7 8 9 { v1.push_back(i); } vector<int> v11; v11 = v1; // 赋值 0 1 2 3 4 5 6 7 8 9 v11.assign(v1.begin(), v1.end()); // 赋值 0 1 2 3 4 5 6 7 8 9 v11.assign(10, 1); // 赋值 1 1 1 1 1 1 1 1 1 1 // 2. 通过区间构造 vector<int> v2(v1.begin(), v1.end()); // 0 1 2 3 4 5 6 7 8 9 // 3. n个element vector<int> v3(10, 1); // 1 1 1 1 1 1 1 1 1 1 // 4. 拷贝构造 vector<int> v4(v1); // 0 1 2 3 4 5 6 7 8 9 return 0; }
void printVector(vector<int> &v) // 逐个元素打印
{
for (vector<int>::iterator i = v.begin(); i<v.end(); i++)
{
cout << *i << endl;
}
}
💜 数组插入和删除:push_back
、pop_back
、insert
、erase
vector<int> v1 = {0,1,2,3,4,5,6,7,8,9};
v1.push_back(10); // 0 1 2 3 4 5 6 7 8 9 10 - 尾插 10
v1.pop_back(); // 0 1 2 3 4 5 6 7 8 9 - 尾删 10
v1.insert(v1.begin(), -1); // -1 0 1 2 3 4 5 6 7 8 9 - v1.begin() 处插入 -1
v1.erase(v1.begin()); // 0 1 2 3 4 5 6 7 8 9 - v1.begin() 处删除 -1
💜 数组容量和大小获取:capacity
,empty
、 size
vector<int> v1 = {0,1,2,3,4,5,6,7,8,9};
cout << v1.capacity() << endl; // 10,是动态扩展的
cout << v1.empty() << endl; // 0
cout << v1.size() << endl; // 10
💜 数组元素互换:swap
vector<int> v1 = {0,1,2,3,4,5,6,7,8,9};
vector<int> v2 = {-0,-1,-2,-3,-4,-5,-6,-7,-8,-9};
v1.swap(v2);
// v1: -0,-1,-2,-3,-4,-5,-6,-7,-8,-9
// v2: 0,1,2,3,4,5,6,7,8,9
- vector<int>(v).swap(v) 可用来收缩容量,其中 vector<int>(v) 是一个匿名对象
💜 数组排序:sort
// 需要头文件 #include <algorithm>
vector<int> v1 = {0,1,3,2,4,8,5,6,7,9};
sort(v1.begin(), v1.end()); // 0 1 2 3 4 5 6 7 8 9