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>
<方法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>
<方法3> 參考

for (std::vector<int>::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

參考資料

為什麼會看到廣告
avatar-img
6會員
46內容數
這是新手寫給新手的學習程式語言基礎教學筆記,內容會以C++為主
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
匿名李的沙龍 的其他內容
三維陣列(Three-dimensional array)   
使用者自訂的資料型別
使用者自訂的資料型別
三維陣列(Three-dimensional array)   
使用者自訂的資料型別
使用者自訂的資料型別
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這一節談的是向量的定義,以及如何運用向量來建立模擬物體運動時,關於位置和速度間的關係式。
這一章介紹向量(vector)這個在物理、工程等領域非常重要的數學工具,以及如何用它來模擬一些物理現象。
Thumbnail
<iostream> ​在之前的文章有提到過,<iostream> 是專門處理程式的輸入 (input) 以及輸出 (output) 的函式庫。輸入輸出的對象是以電腦作為主角: 輸入指的是「把資料給電腦」,輸出指的是「從電腦那邊取得資料」。 在這個系列的文章中,程式輸入指的都是從鍵盤輸入資料給電
Thumbnail
題目敘述 題目的情境是設計並且實現一個包含所有正整數的數據流,以set集合的方式存在。 數據流 = {1, 2, 3, 4, ..., ∞} 要求我們去實現定義好的function介面: SmallestInfiniteSet()建構子,初始化這個包含所有正整數的數據流。 int po
Thumbnail
題目敘述 題目會給我們一組定義好的界面和需求,要求我們設計一個資料結構,可以滿足平均O(1)的插入元素、刪除元素、隨機取得元素的操作。 RandomizedSet() 類別建構子 bool insert(int val) 插入元素的function界面 bool remove(int val
Thumbnail
for,while,do while語法介紹 for loop for比較偏向固定圈數型的迴圈 語法 for(計數變數初值; 布林運算式 ; 增量運算) { : 一般指令; : }
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這一節談的是向量的定義,以及如何運用向量來建立模擬物體運動時,關於位置和速度間的關係式。
這一章介紹向量(vector)這個在物理、工程等領域非常重要的數學工具,以及如何用它來模擬一些物理現象。
Thumbnail
<iostream> ​在之前的文章有提到過,<iostream> 是專門處理程式的輸入 (input) 以及輸出 (output) 的函式庫。輸入輸出的對象是以電腦作為主角: 輸入指的是「把資料給電腦」,輸出指的是「從電腦那邊取得資料」。 在這個系列的文章中,程式輸入指的都是從鍵盤輸入資料給電
Thumbnail
題目敘述 題目的情境是設計並且實現一個包含所有正整數的數據流,以set集合的方式存在。 數據流 = {1, 2, 3, 4, ..., ∞} 要求我們去實現定義好的function介面: SmallestInfiniteSet()建構子,初始化這個包含所有正整數的數據流。 int po
Thumbnail
題目敘述 題目會給我們一組定義好的界面和需求,要求我們設計一個資料結構,可以滿足平均O(1)的插入元素、刪除元素、隨機取得元素的操作。 RandomizedSet() 類別建構子 bool insert(int val) 插入元素的function界面 bool remove(int val
Thumbnail
for,while,do while語法介紹 for loop for比較偏向固定圈數型的迴圈 語法 for(計數變數初值; 布林運算式 ; 增量運算) { : 一般指令; : }
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護