STL之vector使用詳解

2021-06-25 20:42:33 字數 1984 閱讀 2431

好久不用stl了,忘的差不多了,總結一下vector的使用方式,就不對每個方法做出詳細解釋了,只給出了如何用

void testvector()

; //構造乙個元素值全為2大小為10的vector

vectorv1(10,2);

//用指標構造

vectorv2(a, a + 10);

//用vector iterator構造

vectorv3(v2.begin(), v2.end());

//構造乙個和v1一樣的vector

vectorv4(v1);

//使用操作符進行遍歷

cout << "***************==v1***************" << endl;

for (int i = 0; i < v1.size(); i++)

cout << endl;

vector::iterator it;

//得到第2個元素的iterator

it = v2.begin() + 1;

//移除第2個元素,返回移除元素後乙個元素的iterator

vector::iterator erase_it = v2.erase(it);

cout << *erase_it << endl;

//移除之後就不能通過iterator訪問了

//cout << *it << endl;

//通過iterator 遍歷

cout << "***************==v2***************" << endl;

for (it = v2.begin(); it != v2.end(); it++)

cout << endl;

//逆序遍歷

cout << "***************==v3 reserver*****=" << endl;

vector::reverse_iterator rit;

for ( rit = v3.rbegin(); rit != v3.rend() ; rit++)

cout << endl;

cout << "***************==v4 swap v3*****===" << endl;

//交換v4和v3的內容

v4.swap(v3);

for (int i = 0; i < v4.size(); i++)

cout << endl;

cout << "**********==v4 push pop insert*****=" << endl;

//在v4末尾插入100

v4.push_back(100);

//將末尾的100移除

v4.pop_back();

//在第二個元素位置插入1000

v4.insert(v4.begin() + 1, 1000);

//在第二個元素位置插入2個200

v4.insert(v4.begin() + 1, 2, 200);

//在第二個元素位置插入2個v1的開始到結束

v4.insert(v4.begin() + 1, v1.begin(), v1.end());

for (int i = 0; i < v4.size(); i++)

cout << endl;

cout << "**********==v4 clear empty size*****=" << endl;

//清除v4中所有內容

v4.clear();

//檢查v4是否為空

if (v4.empty())

{ cout << "v4 is empty" << endl;

cout << "v4 size = "<

以下是測試結果

STL之vector函式詳解

vector的建構函式和析構函式 vectorc 產生乙個空vector,其中沒有任何元素 vectorc1 c2 產生另乙個同型vector的副本 所有的元素都被拷貝 vectorc n 利用元素的default建構函式產生乙個大小為n的vector vectorc n,elem 產生乙個大小為n...

STL中vector使用詳解

vector類常用的函式如下所示 1.建構函式 vector 建立乙個空vector vector int nsize 建立乙個vector,元素個數為nsize vector int nsize,const t t 建立乙個vector,元素個數為nsize,且值均為t vector const ...

STL之vector動態陣列(詳解)

vector收錄在stl裡,是一種特殊的資料結構。它的中文名字叫做 動態陣列 或者 不定長陣列 有時也被翻譯成 容器 基本操作 1 構造乙個vector vectorvec。其中t是我們陣列要儲存的資料型別,可以是int float double等。初始的時候vec是空的 2 通過push back...