STL順序容器陣列之vector

2021-08-03 20:57:21 字數 1315 閱讀 2865

向量(動態陣列)

標頭檔案 #include

vectorvec <>中放資料型別,vec是變數名

vector vec1(5); 乙個大小為5的陣列

vector vec2(5,12); 乙個大小為5的陣列,以12填充

定義示例:vector::iterator ite;

在codeblocks中定義物件時初始化了幾個,那麼容量就是幾

新增元素

push_back()函式新增乙個元素,引數即為元素值

容器大小

無引數就是0

vc 6.0 和codeblocks中容器大小不夠時增加,現有容量一倍,現有20個,新的40個,現有40個,新的80個

vs2005中容量不夠時增加,為現有容量一半,現有10個,新的就是15個,現有13個,新的就是19個。

reserve()修改容量(只能變大,不能變小)

size()函式,取元素個數

resize()函式,設定vector大小

empty()函式,判斷是否有元素,有返回0,無返回1.

下標運算或at()函式

back()函式 輸出尾巴元素

for(ite;ite!=vec.end();ite++)

void fun(int i) {

coutivec.insert(vec.begin()+2,12); 在下標為2的地方插入12.

ivec.insert(vec.begin()+2,5,12); 在下標為2的地方插入5個12.

vec.insert(vec.begin()+3,vec1.begin(),vec1.begin()+3);在vec下標為3的地方插入vec1前三個元素

assign()函式,類似string的用法

vec.pop_back()函式刪除最後乙個元素

vec.erase()函式

vec.erase(vec.begin()+2);  刪除下標為2的元素

vec.erase(vec.begin()+2,vec.end()) 刪除下標2及以後的所有元素

vec.clear()刪除vec中所有元素

vec2.swap(vec1); 交換vec2,vec1

sort(vec.begin(),vec.end());

random_shuffle(vec.begin(),vec.end())

加入隨機數種子,需要標頭檔案#include

srand((unsigned int)time(0));

vector> ivec;

ivec.resize(m);

for(int i=0;i或

vectotivec;

stl容器之順序容器

stl容器分為順序容器和關聯容器 其中順序容器最常用的由vector,list,queue 1.vector vector 向量容器,可以看作變長陣列,長度可根據需要自行變化。使用的標頭檔案 include 定義方式 vector陣列名 vectorar 訪問容器內資料的方式和普通陣列相同,可以用a...

STL總結之順序容器

1.vector 動態確定長度,支援隨機訪問,array是靜態空間。然後資料結構主要是三個迭代器 普通指標即可 start 表示目前使用空間的頭 end 表示目前使用空間的尾 end of storage 表示目前可用空間的尾 動態增加大小,並不是在原空間之後接續新空間,而是以原大小的兩倍 不完全是...

STL順序容器之鍊錶

list雙向鍊錶 forward list向前鍊錶 單向 操作都在煉表頭 2011年新標準 略 include list 結構體 變數名 for each ls2.begin ls2.end fun list iterator ite ls2.begin ite 只能 不能 2 3 無容量概念 si...