2021-10-11|閱讀時間 ‧ 約 5 分鐘

Vector (C++)

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++)
Vector for方法1
方法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)
Vector for方法2
方法3 參考 for (std::vectorint::iterator::value_type &it : v) or for (auto &it : v)
Vector for方法3
Output
1 2 3 4 5

實用

swap (swaps the contents)
swap(v1,v2); //兩個容器互相交換
Vector swap(v1,v2)
Output
v1 = 2 4 6 8 v2 = 1 3 5 7 9

初始化範例

初始化方法1
初始化方法2
初始化方法3
初始化方法4
初始化方法5
Output
1 5

備註 std::

using namespace std;
using namespace std

參考資料

[1]
[2]
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.