【筆記】C++ Vector

宣告

vector<int> v(n, 0); //長度n,初始值0
vector<vector<int>> v(n, vector<int> (n, 0));

插入

v.push_back(val); //複製
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的空間

迭代器 (Iterator)

v.begin(); //0
v.end(); //end+1
v.rbegin(); //end
v.rend(); //0-1
for(int &i: v) cin >> i; //輸入
for(auto it=v.begin(); it!=v.end(); it++)
  cout << *it << '\n';