vector收錄在stl裡,是一種特殊的資料結構。它的中文名字叫做「動態陣列」或者「不定長陣列」,有時也被翻譯成「容器」。
基本操作:
1、構造乙個vector:vectorvec。其中t是我們陣列要儲存的資料型別,可以是int、float、double等。初始的時候vec是空的 。
2、通過push_back()方法在陣列最後面插入乙個新的元素。
3、通過size()方法獲取vector的長度,通過操作直接訪問 vector中的元素,和陣列是一樣的。
4、修改vector中某個元素的話,只需要用=給它賦值來修改vector中某個元素。
5、呼叫clear()方法就可清空vector。
例子如下:
1 #include//不要忘記打頭檔案
2using
namespace
std;3//
定義方法:
4 vector myvec;//
一開始先定義乙個整型的空的vector動態陣列5//
也可以先賦給它初始值:
6 vector m(a,b); //
在m裡裝a個b
7 vector n(a);//
在n裡裝a個0,通常可以省略"(a)"8//
也可以這麼玩:
9 vector a(myvec);//
定義乙個和myvec一模一樣的動態陣列
10 vector b(a.begin()+l,a.end()-r);//
繼承a動態陣列下標[l,a.end()-r)的值,注意,下標從0開始
11int
main()
34//
如果需要遍歷元素,還可以使用迭代器。(反正我是不會,大神可以繼續)
35for(vector::iterator it=myvec.begin(); it!=myvec.end(); it++)
38//
vector的刪除
39 myvec.pop_back()//
刪除最後乙個元素
40 myvec.erase(myvec.begin()+k);//
刪除下標為k的數,返回下乙個位置的下標
41 myvec.erase(myvec.begin()+l,myvec.end()-r);//
刪除下標[l,myvec.end()-r)的元素
42 myvec.clear();//
清空vector動態陣列
43//
打**時千萬不要忘記它是從vec[0]開始的 !
44//
除myvec[i]外,其餘都是vector的自帶函式,因此必須添上括號!
45 }
有關vector的記憶體機制和效能分析可以參考這個**:
不要嘗試自己測試,除非你對自己的電腦有很大的信心,反正我用學校機房電腦測試了一下直接藍屏了……
STL 動態陣列 vector
動態陣列,使用時需要加標頭檔案vector。它的特點可以實現動態增長的陣列。也就是說我們不必關心該陣列事先定義的容量是多少,它的大小會動態增長。與陣列類似的是,我們可以在末尾進行元素的新增和刪除,也可以進行元素值的隨機訪問和修改。include include include vector 的建立 ...
C 與 STL 動態陣列 vector
摘自 博主柳婼 vector 是乙個模板類 所以使用時要用 vectora 或者vectorb 這樣的方式來宣告乙個 vector vector 是乙個類似於 int a 的整數陣列,而 vector 是乙個類似於 string a 的字串陣列 clear 清空resize 改變大小 push ba...
STL學習筆記 vector容器 動態陣列
簡介 vector是將元素置於乙個動態陣列中進行管理的容器 vector可以隨機訪問元素,支援索引值直接訪問,用或者at 方法 vector下尾部新增或者刪除元素非常快,但在中間或頭部插入或者刪除元素比較耗時 標頭檔案 include vector基本操作 vectorv v.push back 1...