vector
資料結構:和陣列非常相似,也稱為單端陣列
區別:vector可以動態擴充套件
動態擴充套件:並不是在原空間上續接新空間,而是在找更大的記憶體空間,然後將原資料拷貝到新空間,釋放原空間
迭代器:支援隨機訪問的迭代器
構造方法
賦值:= assign(beg,end)
容量:capacity() 大小:size()
判斷容器是否為空:empty()
重新制定容器的長度:resize(int num) resize(int num,elem)
插入和刪除:
push_back(elem) pop_back()
insert(const_iterator pos,ele)
erase(const_iterator start,const_iterator end)
clear()
資料訪問
at(int idx) operator[ ];
front() //返回容器中第乙個元素
back() //返回容器中的最後乙個元素
互換容器
swap(vec)
實際用途:收縮記憶體
vector(v).swap(v)
預留空間
減少vector在動態擴充套件時容量的擴充套件次數
reverse(int len)
vector<
int>v;
v.reserve
(10000);
int num =0;
int*p =
null
;for
(int i =
0;i<
10000
;i++)if
(p !=
&v[0])
深入學習STL系列(2) vector
如果容器是你對stl的唯一印象,說明你利器 stl 在手而未能善用。容器可以分為序列容器 sequential containers 和關聯容器 associative containers 下面我們將從建立 插入 刪除 檢視五個方面演示如何使用容器。序列容器中常見的vector list dequ...
mfc學習筆記(2) vector容器型別
原文 首先說在使用vector時出現的錯誤 vector undeclared identifier 之後,加入語句 using namespace std 問題解決!vector類為內建陣列提供了一種替代表示,與string類一樣 vector 類是隨標準 c 引入的標準庫的一部分,為了使用vec...
STL順序容器 vector
vector是乙個線性順序結構。相當於陣列,但其大小可以不預先指定,並且自動擴 展。它可以像陣列一樣被操作,由於它的特性我們完全可以將vector 看作動態數 組。在建立乙個vector 後,它會自動在記憶體中分配一塊連續的記憶體空間進行資料 儲存,初始的空間大小可以預先指定也可以由vector 預...