1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| ## 基础汇总:
- Set自动升序排列、自动去重 - pair
```cpp #include <iostream> #include <vector> #include <algorithm> // 用于 remove 和 find 函数
using namespace std;
// vector的声明 vector<int> v1;
// 声明一个二维vector vector<vector<int>> v2;
// vector的快速设置容器大小 vector<vector<int>> v1(10); // 设置容器大小为10
// 设置vector的容器大小 v1.resize(10);
// vector迭代器的声明 vector<int>::iterator it = v1.begin();
// 判断一个vector是否为空 if (v1.empty()) { // v1 是空的 }
// 拷贝函数 v2.assign(v1.begin() + 1, v1.end() - 1);
// 插入 // 容器后面添加元素 v1.push_back(11); // 容器前面添加元素 v1.insert(v1.begin(), 0); // 容器中某个位置插入元素 v1.insert(v1.begin() + 5, 100); // 让一个vector的一个[num,num)的数插入到另一个vector v1.insert(v1.begin(), v2.begin() + 1, v2.end() - 2);
// 删除 v1.erase(v1.begin());
// 查找 // 注意:vector没有直接的find方法,需要使用algorithm中的find函数 auto it = find(v1.begin(), v1.end(), 3); if (it != v1.end()) { // 找到了元素3 }
// 删除容器里所有的特定数字 v1.erase(remove(v1.begin(), v1.end(), 3), v1.end());
// 用迭代器 for (it = v1.begin(); it != v1.end(); ++it) { cout << *it << " "; }
// 用for循环 for (int i = 0; i < v1.size(); ++i) { cout << v1[i] << " "; }
// 声明二维vector循环遍历 vector<vector<int>> v3 = { {1,2,3}, {4,5,6}, {7,8,9} }; for (vector<int>& row : v3) { for (int& col : row) { cout << col << " "; } cout << endl; }
// C++11的写法 for (const auto& row : v3) { for (const auto& col : row) { cout << col << " "; } cout << endl; }
|