std::vectortype (C++)
Vector
一個序列容器
增加:口口口 + 口 = 口口口口 移除:口口口口 - 口 = 口口口
初始化 std::vectortype
方法1
std::vectorint v; v = {1,2,3,4,5};
方法2
std::vectorint v = {1,2,3,4,5};
方法3
std::vectorint v({1,2,3,4,5});
方法4
std::vectorint v; v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); v.push_back(5);
方法5
std::vectorint v; v.reserve(5); v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); v.push_back(5);
【備註】:type:int、float、double......
存取元素
索引值
v[i]
第一個元素
v.front()
最後一個元素
v.back()
增減元素
push_back (adds an element to the end)
v.push_back(x); //在容器最後面新增x,x的type為容器宣告時的type
pop_back (removes the last element)
v.pop_back(); //移除在容器最後面的元素
inserts (inserts elements)
v.insert(位置, 元素); //在指定位置增加元素
erases (erases elements)
v.erase(位置); //在指定位置移除元素
容器大小查詢
size
(returns the number of elements)
v.size() //回傳元素個數
capacity
(returns the number of elements that can be held in currently allocated storage)
v.capacity(); //回傳容器大小
reserves
(reserves storage)
v.reserve(x); //預先配置容器大小
Vector for 迴圈應用
方法1 for(int i=0; iv.size(); i++)
方法2 指標(迭代器) for (std::vectorint::iterator it = v.begin(); it != vec.end(); ++it) or for (auto it = v.begin(); it != vec.end(); ++it)
(1(v.begin) ) (2) (3) (4) (5) (v.end)
方法3 參考 for (std::vectorint::iterator::value_type &it : v) or for (auto &it : v)
Output
1 2 3 4 5
實用
swap (swaps the contents)
swap(v1,v2); //兩個容器互相交換
Output
v1 = 2 4 6 8 v2 = 1 3 5 7 9
初始化範例
Output
1 5
備註 std::
using namespace std;
參考資料
[1]
[2]