17 2 利用vector容器初步理解STL

2021-10-08 06:53:35 字數 1865 閱讀 8380

了解stl容器演算法迭代器概念之後,我們利用**感受stl魅力。

stl最常用的容器為vector,可以理解為陣列,下面我們將演示如何向這個容器插入、刪除和遍歷資料。

1、vercot存放內建資料型別:

#include

#include

#include

using

namespace std;

void

myprint

(int val)

void

test1()

//第二種遍歷方式

for(vector<

int>

::iterator it = v.

begin()

; it != v.

end(

); it++

)//第三種遍歷方式 遍歷演算法

這裡用三種遍歷方式遍歷了容器中的元素。最後乙個是使用系統標準演算法,要包含標頭檔案。

對於for_each演算法,第乙個引數是其實迭代器,第二個引數是結束迭代器,第三個引數是乙個函式。

轉到for_each定義:

可以看到,在for迴圈裡有 _func(*_ufirst);

所以我們建立乙個函式myprint,引數是int型,用來輸出元素。

2、vercot存放自定義資料型別:

存放自定義資料型別本質跟內建資料型別一樣。

3、vercot容器巢狀容器:

先建立幾個vector的容器,再把這幾個容器放在另乙個vector>的容器。

#include

#include

using

namespace std;

//容器巢狀容器

void

test1()

//將小容器放入到大容器

v.push_back

(v1)

; v.

push_back

(v2)

; v.

push_back

(v3)

; v.

push_back

(v4)

;//通過大容器遍歷資料

初步了解vector

一 vector的介紹 vector是表示可變大小陣列的序列容器。就像陣列一樣,vector也採用的連續儲存空間來儲存元素。也就是意味著可以採用下標對vector的元素 進行訪問,和陣列一樣高效。但是又不像陣列,它的大小是可以動態改變的,而且它的大小會被容器自 動處理。本質講,vector使用動態分...

vector向量容器

vector容器是陣列的乙個泛化推廣,不僅可以像陣列那樣進行元素的隨機訪問,還可以在容器的尾端插入新元素,實現了random access container和back insertion sequence概念。vector具有自動的記憶體管理功能,對於元素的插入和刪除,能夠動態調整占用的記憶體空間...

實現vector容器

在c stl中 每一種容器都有其自己對應的迭代器實現。迭代器也成為了演算法和容器之間的橋梁。今天先模擬一下vector 容器,以及對應的迭代器。一 vector實質是可變長的陣列 空間連續 所謂的可變長其實是偽可變長。為了實現可變長,vector的工作實質 1 初始分配空間大小時,分配按實際需求分配...