C STL常用操作之vector篇

2021-10-14 16:29:42 字數 1884 閱讀 4491

#include

它是一種容器,可以理解為向量、陣列——可以動態申請增加長度的陣列。

vector<

int> v1;

//預設陣列長度為0

vector<

int>v2(

4);//申請了長度為4的陣列v2

vector<

int>v3(

4,5)

;//申請了長度為4的陣列,並且每個位置都賦值為5

用at或者類似於陣列

vector<

int> vv

;cout << vv[1]

;//輸出的是2

cout << vv.at(

2);//輸出的是3

cout << vv.

front()

;//第乙個元素

cout <<

*vv.

begin()

;//第乙個元素

cout <<

*--vv.

end();

//最後乙個元素

vector<

int> v1;

//預設陣列長度為0

v1.push_back(4

);//將整形資料4壓入到v1

v1.resize(10

);//重置v1的長度為10,且每個位置的資料預設為0

v1.begin()

;//獲得v1開始的位置位址

v1.end()

;//獲得v1結束位置的後乙個位置位址

v1.size()

;//獲得v1的長度

sort排序

#include

//sort函式需要引用的標頭檔案

vector<

int> v1

;sort

(v1.

begin()

, v1.

end())

;//從小到大排序

//sort(v1.begin(), v1.end(), less());

sort

(v1.

begin()

, v1.

end(

), greater<

int>()

);//從到到小排序

vector<

int> v1

;for

(int i =

0; i < v1.

size()

;++i)

cout << v1[i]

;//類似陣列遍歷

for(vector<

int>

::iterator it = v1.

begin()

; it != v1.

end();

++it)

cout <<

*it;

//迭代器

for(

auto it = v1.

begin()

; it != v1.

end();

++it)

cout <<

*it;

for(

auto it : v1)

cout << it;

//auto萬能,但是速度慢

另外,vector還能放char,double,string或者是自定義的struct型別資料,根據自己的需要使用不同的型別。

vector簡單使用,適用於像我這樣的小白快速上手,大神鍵下留情!

發現問題歡迎指正!

希望能幫助到你!

C STL之vector容器的基本操作

注意事項 特別注意任何時候同時使用兩個迭代器產生的將會是乙個前閉後開的區間 具體見插入和刪除的例子 特別注意begin 指向的是vec中的第0個元素,而end是指向最後乙個元素的後面乙個位置 不是最後乙個元素 特別注意迭代器的時效性,如果乙個迭代器所指向的內容已經被刪除,而後又使用該迭代器的話,會造...

C STL之vector用法總結

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

C STL之vector用法總結

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