C STL 教程 vector向量

2022-07-21 12:00:32 字數 1153 閱讀 1491

c++ stl(標準模板庫)是一套功能強大的 c++ 模板類,提供了通用的模板類和函式,這些模板類和函式可以實現多種流行和常用的演算法和資料結構,如向量、鍊錶、佇列、棧。

c++ stl提供了三種元件:容器--containers,演算法--algorithms,迭代器--iterators。

容器--containers,容器是用來管理某一類物件的集合。c++ 提供了各種不同型別的容器,比如 deque、list、vector、map 等。

演算法--algorithms,演算法作用於容器。它們提供了執行各種操作的方式,包括對容器內容執行初始化、排序、搜尋和轉換等操作。

迭代器--iterators,迭代器用於遍歷物件集合的元素。這些集合可能是容器,也可能是容器的子集。

三種元件給我們提供了豐富的預定義函式,下面的程式演示了向量容器(乙個 c++ 標準的模板),它與陣列十分相似,唯一不同的是,向量在需要擴充套件大小的時候,會自動處理它自己的儲存需求:
#include#includeusing namespace std;

int main()

cout << "vector new size:" << vec.size() << endl;

//訪問向量中的值

for (i = 0; i < 5; i++)

//使用迭代器iterator訪問值

vector::iterator v = vec.begin();

while (v != vec.end())

return 0;

}

輸出結果:

vector size = 0

extended vector size = 5

value of vec [0] = 0

value of vec [1] = 1

value of vec [2] = 2

value of vec [3] = 3

value of vec [4] = 4

value of v = 0

value of v = 1

value of v = 2

value of v = 3

value of v = 4

對於其中我們使用的函式,要注意:

c STL庫容器之向量vector

vector向量是一種順序行容器。相當於陣列,但其大小可以不預先指定,並且自動擴充套件。它可以像陣列一樣被操作,由於它的特性我們完全可以將vector 看作動態陣列。在建立乙個vector 後,它會自動在記憶體中分配一塊連續的記憶體空間進行資料儲存,初始的空間大小可以預先指定也可以由vector 預...

C STL常用容器總結之三 向量vector

vector是同一種型別的物件的集合,每個物件都有乙個對應的整數索引值。vector的資料安排及操作方式與array非常相似,唯一的差別在於array是靜態空間,一旦配置了就不能改變 vector是動態空間,隨著元素的加入,它的內部機制會自行擴充空間以容納新元素。使用vector之前,必須包含相應的...

C STL常用容器總結之三 向量vector

vector是同一種型別的物件的集合,每個物件都有乙個對應的整數索引值。vector的資料安排及操作方式與array非常相似,唯一的差別在於array是靜態空間,一旦配置了就不能改變 vector是動態空間,隨著元素的加入,它的內部機制會自行擴充空間以容納新元素。使用vector之前,必須包含相應的...