STL 之vector學習 (最詳細的整理)

2021-08-22 16:25:59 字數 1220 閱讀 3218

vector是一種可以儲存任意型別的動態陣列,屬於序列式容器,可以用sort對其進行排序,底層資料結構是陣列,可以隨機訪問元素。

#include

#include

#include

#include

using namespace std;

int main()

//遍歷動態陣列 

for(i=0;i<10;i++)     //  最普通的遍歷 

cout<::iterator it="a.begin();">

for(;it!=a.end();it++)   

cout<

cout<::reverse_iterator iq="a.rend()-1;">

for(;iq!=a.rbegin()-1;iq--)  //疑惑,看來不能完全照書敲,實踐出真知。 

cout<

cout<::reverse_iterator ir="a.rbegin();">

for(;ir!=a.rend();ir++)    //

cout<

cout<

cout<

//動態陣列的大小 

cout<

//動態陣列的交換 

a.swap(b);

cout<

//對動態陣列指定位置進行賦值 

a.reserve(36);  //reserve就是改變記憶體分給a的大小,不試不知道,一試嚇一跳,如果你被改的值大於a的size,可以改變,若小於a的size,則不可以改變。 

如果換為這句,就成了下圖

cout正確的結果:

STL之vector學習筆記

參考sgi stl 及 侯捷 stl原始碼剖析 概述 vector是動態空間,隨著元素的加入,它的內部機制會自行擴充空間以容納新元素。但是它不是單純地 配置新空間 資料移動 釋放舊空間,它實際配置的大小會比客戶需求要大一點定義 sgi stl的vector實現於stl vector.h中,而不是ve...

STL 學習之vector測試

vector 是向量陣列,一端開口的陣列,其記憶體結構圖如下所示 可見其在尾部插入資料速度很快,而在其他地方插入資料將會很慢 void testvector vectortest vec clock t timestart clock for long i 0 i ran max i catch e...

C 學習之STL(一)vector

c primer plus讀書筆記 三 復合型別 中已經簡單介紹過vector是什麼,這個系列主要是介紹stl特性。vectorc 建立乙個空的vector vectorc1 c2 建立乙個vector c1,並用c2去初始化c1 vectorc n 建立乙個含有n個elemtype型別資料的vec...