1

分享

Vector (C++)

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 序列 容器 程式語言 c語言

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)

vector 序列 容器 程式語言 c語言

Vector for<方法2>

                                (1  (v.begin) )  (2)  (3)  (4)  (5)  (v.end)
  

<方法3> 參考

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

                                                             or

for (auto &it : v)

vector 序列 容器 程式語言 c語言

Vector for<方法3>

Output
  

1

2

3

4

5


實用

swap  (swaps the contents)
  

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

vector 序列 容器 程式語言 c語言

Vector swap(v1,v2)

Output
  

v1 = 2 4 6 8

v2 = 1 3 5 7 9


C++ 

初始化
vector 序列 容器 程式語言 c語言

初始化<方法1>

vector 序列 容器 程式語言 c語言

初始化<方法2>

vector 序列 容器 程式語言 c語言

初始化<方法3>

vector 序列 容器 程式語言 c語言

初始化<方法4>

vector 序列 容器 程式語言 c語言

初始化<方法5>

Output
  

1

5


備註 std::

  

using namespace std;

vector 序列 容器 程式語言 c語言

using namespace std


參考資料

[1] C++ std::vector 用法與範例 | ShengYu Talk (shengyu7697.github.io)
[2] std::vector - cppreference.com
#vector  #序列  #容器  #程式語言  #c語言 
分類:學習

文章有錯誤的地方還請留言指正,謝謝各位。(目前C++新手教學第二章內容已完結)。建議或意見可私訊:https://reurl.cc/ze7L9k

評論
上一篇
  • 三角函數 (C++)
  • 下一篇
  • Array 一維陣列 (C++)
  • 更多文章
    載入中... 沒有更多了