STL vector學習筆記

2021-06-09 15:04:33 字數 1369 閱讀 5818

vector

是stl的動態大小的陣列,連續記憶體的容器

。和一般資料一樣對於插入和刪除的時間複雜度是很高的。

#includeint main()

assign(beg,end) 將(beg; end)區間中的資料賦值給容器。

assign( size_type num, const type &val ); 賦num個值為val的元素到vector中

例如:v2.assign(v1.begin(), v1.end());是將v1 copy 給 v2,相當於copy函式。

at(idx) 傳回索引idx所指的資料,如果idx越界,丟擲out_of_range。   

back() 回傳 vector 最尾元素的引用,不檢查這個資料是否存在。   

begin() 傳回迭代器中的第乙個資料位址。

capacity() 返回容器中資料個數。   

clear() 移除容器中所有資料。   

empty() 判斷容器是否為空。   

end()  指向迭代器中末端元素的下乙個,指向乙個不存在元素。   

erase(pos)  刪除pos位置的資料,傳回下乙個資料的位置。  

erase(beg,end) 刪除[beg,end)區間的資料,傳回下乙個資料的位置。   

front() 回傳 vector 第乙個元素的引用。 

insert(pos,elem) /在pos位置插入乙個elem拷貝,傳回新資料位置   

insert(pos,n,elem) 在pos位置插入n個elem資料,無返回值   

insert(pos,beg,end) 在pos位置插入在[beg,end)區間的資料。無返回值   

max_size() 返回容器中最大資料的數量。   

pop_back() 刪除最後乙個資料。   

push_back(elem) 在尾部加入乙個資料。   

rbegin() 傳回乙個逆向佇列的第乙個資料。   

rend() 傳回乙個逆向佇列的最後乙個資料的下乙個位置。   

resize(num) 重新指定佇列的長度。   

reserve() 保留適當的容量。   

size() 返回容器中實際資料的個數。   

c1.swap(c2) // 將c1和c2元素互換

size是指容器當前擁有元素的個數;

capacity是指容器當前的儲存容量,在重新分配儲存空間之前可以存放的元素總數;

如vectori(10)則i.capacity()=10,i.size()=0

首次分配capacituy()函式返回的大小的記憶體,當超過此分配的空間時再整體重新分配一塊記憶體儲存。

演算法筆記 STL vector

vector 定義 向量 個人理解是公升級的陣列 vector typename name vector int name vector double name vector char name vector name node是結構體的型別 vectorint name 之間要加空格 兩個都可變長...

題目筆記 UVA101 STL vector

stl vector include include include using namespace std const int maxx 30 int n string s1,s2 vector plie maxx void find bl int a,int p,int h 這裡用的是引用不太明...

學習C 之STL vector巢狀vector

在日常生活中我們可以將若干個小容器巢狀在乙個大容器中,vector也可以這麼做。1.建立容器 vectorint v v的每個元素都是乙個整形動態陣列 兩個連續的 之間最好加空格,否則有的編譯器識別不了2.存入元素 首先建立小容器 vector int v1 vector int v2 vector...