什麼是vector?
向量(vector)是乙個封裝了動態大小陣列的順序容器(sequence container)。跟任意其它型別容器一樣,它能夠存放各種型別的物件。可以簡單的認為,簡單的理解就是乙個可以動態變化的陣列。
vector的容量是隨著你放入元素的數量而動態變化的。但是其只會增長而不是縮小
基本操作
在使用容器是要先寫好標頭檔案#include
構造容器
以int型別的為例子
void
test01()
; vector<
int>
v2(arr, arr +
sizeof
(arr)
/sizeof
(int))
;//建立乙個容器用arr中的元素填充
vector<
int>
v3(v2.
begin()
, v2.
end())
;//使用迭代器,用v2的區間當做新容器的元素。
vector<
int>
v4(v3)
;//拷貝建構函式,建立乙個一模一樣的容器
pr(v4)
;}
常用的賦值操作
void
test02()
; vector<
int>
v1(arr, arr +
sizeof
(arr)
/sizeof
(int))
; vector<
int>v2;
v2.assign
(v1.
begin()
, v1.
end())
;//拷貝
//過載
vector<
int>v3;
v3 = v2;
int arr1=
; vector<
int>
v4(arr1, arr1 +
sizeof
(arr1)
/sizeof
(int))
; v4.
swap
(v1);pr
(v4)
;}
size與capacity
size是返回該容器中的元素個數,而capacity則是返回該容器的容量,他們的區別就好像是杯子的大小和杯中水的體積一樣
void
test03()
; vector<
int>
v2(arr, arr +
sizeof
(arr)
/sizeof
(int))
; cout << v2.
size()
;//元素個數 判斷是否為空用empty
v2.resize(5
);//改變容器內元素的個數,多餘的會刪除掉,如果比以前變大了預設新增0。不想用預設可以resize(10,想要的值),而且只能改變元素個數,並不能改變容器容量
v2.capacity()
;//返回容器的容量,與size不同的是size為容器裡有多少元素,而capacity為容器的大小
vector<
int>()
.swap
(v2)
;//如果向縮小容量可以使用swap這種方法,讓v2和匿名空間兩者交換指標的指向,這種方法也相當於是釋放了空間
v2.front()
;//返回容器中第乙個元素
v2.back()
;//返回容器中最後乙個元素 ,他們與begin和end不同的地方在於begin和end返回的是迭代器
}
插入和刪除操作
void
test04()
reserve和resize的區別
//reserve是預留空間的,如果一開始想好了容器的大小可以直接用reserve去定義。
遍歷
void
pr(vector<
int>v)
}
vector的優點:
可以使用下標訪問個別的元素
迭代器可以按照不同的方式遍歷容器
可以在容器的末尾增加或刪除元素
c 容器vector的基本操作
在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...
C 中vector的基本操作
建立乙個空的 vector vectorv 新增元素 注意 push back 和pop back只能在尾部新增和刪除,不能操作頭部 v.push back 3.1415926 v.push back string adiabatic 刪除元素 pop back v.pop back 3.14159...
C 中vector的基本操作
在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...