介紹
vector(矢量; 向量),vector是C++標準模板庫(STL)中的部分內容,中文偶爾譯作“容器”,但并不準確,它是一個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫,vector之所以被認為是一個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說,vector是一個能夠存放任意型別的動態陣列,能夠增加和壓縮資料,
vector 是同一種型別的物件的集合,每個物件都有一個對應的整數索引值,它的一個容器中的所有物件都必須是同一種型別的,
vector 是一個類模板,使用模板可以撰寫一個類定義或函式定義,而用于多個不同的資料型別,因此,我們可以定義保存 string 物件的 vector,或保存 int 值的 vector,又或是保存自定義的型別別物件的 vector,vector 不是一種資料型別,而只是一個類模板,可用來定義任意多種資料型別,vector 型別的每一種都指定了其保存元素的型別,
用法
在C++中,vector是個常用的容器,一下是它的具體用法
vector<int> v(n,i); //建立一個長度為n的一維動態陣列v,初始每個元素都賦值為i vector<vector<int> > ve; //建立一個二維動態陣列ve(特別注意:'>'和'>'之間有一個空格,如果不打,會被認為是位移運算而報錯) v.push_back(a); //將a元素放在v陣列的末尾,且陣列長度加1 v.begin(); //回傳陣列v的首元素 v.end(); //回傳陣列v的末端元素的下一個 v.size(); //回傳陣列v的長度 v.erase(a); //洗掉a位置的資料,并傳回下一個資料的位置 v.resize(n,m); //重定義v的長度為n,若n小于原陣列的長度,就洗掉多余元素,若n大于原陣列的長度,則將多出來的部分賦值為m vector<int>::iterator it; //建立一個叫it的迭代器
同時,在使用vector是需要用特點的頭檔案
#include<vector> //使用vector的特定頭檔案,雖然我更喜歡用萬能頭
優點
動態陣列可以隨時調整陣列大小,并且提供額外的方法增加、減小陣列中的元素,相對于陣列十分的高效,
缺點
運行速度與陣列相比較慢,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/544096.html
標籤:其他
下一篇:漢諾塔
