一、初始化vector
1、動態初始化vector
使用vector時,我們需要先將其初始化,vector可以有多種初始化方式。其中動態初始化是指我們需要在程序運行時才能確定vector的大小,可以通過reserve()函數來提前分配空間,如下所示:
vector v1; v1.reserve(100); //提前分配空間
2、靜態初始化vector
另外一種方式是靜態初始化,就是在編寫程序時就確定vector的大小和初始值。這裡我們需要注意的是,靜態初始化在初始時會對所有元素進行初始化,因此當我們要進行大量數據初始化時,建議使用動態初始化,避免浪費時間和空間。
vector v2(10, 0); //初始化大小為10,全部賦值為0
二、添加單個元素
1、使用push_back()
添加單個元素最常用的方法就是使用push_back()函數,它可以將元素添加到vector末尾。如下所示:
vector v; v.push_back(1); v.push_back(2); v.push_back(3);
2、使用insert()
除了使用push_back()函數,我們還可以使用insert()函數來添加單個元素。insert()函數的第一個參數是要插入的位置,第二個參數是插入的元素值,如下所示:
vector v; v.insert(v.begin(), 1); //在開頭插入元素1 v.insert(v.end(), 2); //在末尾插入元素2
三、添加多個元素
1、使用push_back()和循環
當需要添加多個元素時,可以使用循環結構配合push_back()函數來實現。如下所示:
vector v; for(int i=0; i<10; i++){ v.push_back(i); }
2、使用insert()和迭代器
類似於單個元素的添加方式,我們也可以使用insert()函數和迭代器配合來添加多個元素。如下所示:
vector v; vector a(10, 1); v.insert(v.begin(), a.begin(), a.end()); //在開頭插入a中的所有元素 v.insert(v.end(), a.begin(), a.end()); //在末尾插入a中的所有元素
四、添加已知容器的所有元素
當我們已經有了一個容器,需要將其所有元素添加到另一個容器中時,可以使用assign()函數或者insert()函數。如下所示:
vector v1{1,2,3,4}; vector v2; v2.assign(v1.begin(), v1.end()); //使用assign()函數 v2.insert(v2.begin(), v1.begin(), v1.end()); //使用insert()函數
五、總結
vector作為STL中常用的容器,其添加元素的方法多種多樣。在實際開發中,我們需要根據不同情況選擇合適的添加方式,以達到高效、簡便的目的。
原創文章,作者:VJOZY,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/369102.html