std::vector<type> (C++)
Vector
一個序列容器
增加:口口口 + 口 = 口口口口
移除:口口口口 - 口 = 口口口
初始化 std::vector<type>
<方法1>
std::vector<int> v;
v = {1,2,3,4,5};
<方法2>
std::vector<int> v = {1,2,3,4,5};
<方法3>
std::vector<int> v({1,2,3,4,5});
<方法4>
std::vector<int> v;
v.push_back(1); v.push_back(2); v.push_back(3);
v.push_back(4); v.push_back(5);
<方法5>
std::vector<int> 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; i<v.size(); i++)
<方法2> 指標(迭代器)
for (std::vector<int>::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::vector<int>::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;
參考資料