了解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 初始分配空間大小時,分配按實際需求分配...