vector:可以動態改變大小的陣列。
宣告
vector<int> v = {1, 2, 3};
vector<int> v(3); // {0, 0, 0}
vector<int> v(3, -1); // {-1, -1, -1}
vector<int> v2(v.begin()+1, v.end()-1); // {2}
// 陣列轉 vector
int a[3] = {1, 2, 3};
vector<int> v(a, a+3); // {1, 2, 3}二維陣列
vector<vector<int>> v(m, vector<int>(n));
// 等同於 int v[m][n];插入
v.push_back(1);
v.emplace_back(val); // 宣告
v.insert(v.begin()+i, val); // v[i]插入val,其後元素後推一位存取
v[i]
v.front(); // 取得第一個元素
v.back(); // 取得最後一個元素移除
v.pop_back();
v.clear();
v.erase(v.begin()+i); // 刪除v[i]
v.erase(v.begin(), v.begin()+i); // 刪除v[0~i(不含)]變更
v.resize(n, 0); // 補0
v.assign(n, 0); // 全0
v.reserve(n); // 搬過去大小為n的空間遍歷
for(int i : v){
cout << i << ' ';
}字串反轉
#include <algorithm>
string s = "Hello World";
reverse(s.begin(), s.end());
cout << s; // dlroW olleH