是乙個封裝了動態大小陣列的順序容器,向量是乙個能夠存放任意型別的動態陣列。
迭代器型別
vector::iterator it1;//it1能讀寫vector中的元素
string ::interator it2;//it2能讀寫string中的元素
vector::const_iterator it3;//只能讀
string::const_iterator it4;//只能讀
auto b=v.begin();
auto c=v.end();
// 物件是常量 返回值const_iterator 如果不是iterator
auto it3=v.cbegin();
auto it4=v.cend();
//無論vector物件(或string物件)本身是否為常量,返回值都是都是const_iterator
解引用:獲取位址的值
int *p= &a; //定義乙個整型指標 p 並且p指向了a的位址 (&取位址)
*p=10; //解引用, 即 給a賦值10;
(*it)empty();//解引用it,然後呼叫物件的empty();物件
*it.empty();//錯誤
箭頭運算子(->)即表示:
it->mem==(it*).mem;
不能在for迴圈中新增物件。改變容量eg:push_back會使vector的迭代器失效
舉例,指向某vector物件的中間位置:
auto mid=vi.begin()+mid.size()/2;
/*下標從0開始*/
迭代器二分搜尋二分法,即從中間開始搜尋,元素小於中間值從前半段搜尋,大於中間值,從後半段開始。
auto target;
vetor text;
auto beg=text.begin();
auto end=text.end();
auto mid=text.begin();+(text.begin()-text.end());
while(mid!=end&&*(mid)!=target)else
mid=beg+(end-beg)/2;
}
學習C 向量 vector
一 向量的介紹 向量vector是一種物件實體,能夠容納許多其他型別相同的元素,因此又被稱為容器。與string相同,vector 同屬於stl standard template library,標準模板庫 中的一種自定義的資料型別,可以廣義上認為是陣列的增強版。在使用它時,需要包含標頭檔案 ve...
學習C 向量 vector
一 向量的介紹 向量 vector 是一種物件實體,能夠容納許多其他型別相同的元素,因此又被稱為容器。與string相同,vector 同屬於stl standard template library,標準模板庫 中的一種自定義的資料型別,可以廣義上認為是陣列的增強版。在使用它時,需要包含標頭檔案 ...
學習C 向量 vector
一 向量的介紹 向量 vector 是一種物件實體,能夠容納許多其他型別相同的元素,因此又被稱為容器。與string相同,vector 同屬於stl standard template library,標準模板庫 中的一種自定義的資料型別,可以廣義上認為是陣列的增強版。在使用它時,需要包含標頭檔案 ...