STL常用容器(2) vector

2021-10-05 04:29:17 字數 987 閱讀 3043

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 預...