Vector (C++)

更新於 發佈於 閱讀時間約 5 分鐘

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++)
Vector for<方法1>

Vector for<方法1>

<方法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)

Vector for<方法2>

Vector for<方法2>

<方法3> 參考

for (std::vector<int>::iterator::value_type &it : v)

or

for (auto &it : v)
Vector for<方法3>

Vector for<方法3>

Output

1
2
3
4
5


實用

swap (swaps the contents)

swap(v1,v2); //兩個容器互相交換
Vector swap(v1,v2)

Vector swap(v1,v2)

Output

v1 = 2 4 6 8
v2 = 1 3 5 7 9


初始化範例



初始化<方法1>

初始化<方法1>

初始化<方法2>

初始化<方法2>

初始化<方法3>

初始化<方法3>

初始化<方法4>

初始化<方法4>

初始化<方法5>

初始化<方法5>

Output

1
5


備註 std::

using namespace std;
using namespace std

using namespace std


參考資料

[1] C++ std::vector 用法與範例 | ShengYu Talk (shengyu7697.github.io)

[2] std::vector - cppreference.com

留言
avatar-img
留言分享你的想法!
avatar-img
匿名李的沙龍
6會員
46內容數
這是新手寫給新手的學習程式語言基礎教學筆記,內容會以C++為主
匿名李的沙龍的其他內容
2022/08/25
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
2022/08/25
Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
2022/08/19
Google、OneDrive、icloud 鑒於最近Google教育版雲端大開殺戒,來統計一下雲端費用。
Thumbnail
2022/08/19
Google、OneDrive、icloud 鑒於最近Google教育版雲端大開殺戒,來統計一下雲端費用。
Thumbnail
2022/04/01
Visual Studio Code Key Bindings
Thumbnail
2022/04/01
Visual Studio Code Key Bindings
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
探索Python學習筆記中列表的建立、存取和常用方法。從使用中括號定義列表到了解索引、新增、刪除、修改等操作,並介紹append、remove、count等常用方法。
Thumbnail
探索Python學習筆記中列表的建立、存取和常用方法。從使用中括號定義列表到了解索引、新增、刪除、修改等操作,並介紹append、remove、count等常用方法。
Thumbnail
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的: 說明:等號左邊是做宣告,而右邊是做建立的動作。 一、初始值設定 那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看: 1.有給
Thumbnail
在使用陣列時一開始也是需要做宣告的,那麼這次說的內容是一維陣列,因此一維陣列宣告內容包括:資料型態、陣列名稱、以及陣列的大小。那麼我們就來看一下它的語法是如何的: 說明:等號左邊是做宣告,而右邊是做建立的動作。 一、初始值設定 那麼初始值要怎麼設定呢?這邊有幾種方法,用例子帶大家來看一看: 1.有給
Thumbnail
Array 在記憶體中連續分配,而且元素類型是一樣的,長度不變 優點:讀取快,可以使用座標訪問 缺點:新增、刪除慢 記憶體: 📷 範例程式碼: ArrayList 不定長度,在記憶體中連續分配的,元素沒有類型限制,任何元素都是當成object處理,如果是值類型,會有裝箱的操作 優點:讀取快 缺點:
Thumbnail
Array 在記憶體中連續分配,而且元素類型是一樣的,長度不變 優點:讀取快,可以使用座標訪問 缺點:新增、刪除慢 記憶體: 📷 範例程式碼: ArrayList 不定長度,在記憶體中連續分配的,元素沒有類型限制,任何元素都是當成object處理,如果是值類型,會有裝箱的操作 優點:讀取快 缺點:
Thumbnail
三維陣列(Three-dimensional array)   
Thumbnail
三維陣列(Three-dimensional array)   
Thumbnail
break、continue、更進一步的for迴圈、while迴圈、switch
Thumbnail
break、continue、更進一步的for迴圈、while迴圈、switch
Thumbnail
陣列(Array)、Vector的關係
Thumbnail
陣列(Array)、Vector的關係
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News