vector容器的使用方法

2021-05-27 15:48:55 字數 2841 閱讀 1552

這個網上隨便都有啦,google一下,應有盡有。 說明

vector

是一種動態陣列

,是基本

陣列的類模板。其內部定義了很多基本操作。 #

include

注意:標頭檔案沒有

「.h」

構造:這個建構函式還有乙個可選的引數,這是乙個型別為

t的例項,描述了各個向量種各成員的初始值; 如:

vectorv2(init_size,0); 

如果預先定義了:

intinit_size;

他的成員值都被初始化為0;

· 複製建構函式

,構造乙個新的向量,作為已存在的向量的完全複製; 

如:vectorv3(v2);  · 

帶兩個常量引數的建構函式,產生初始值為乙個區間的向量。區間由乙個半開區間

[first,last](msword

的顯示可能會有問題,

first

前是乙個左方括號,

last

後面是乙個右圓括號

)來指定。 如:

vectorv4

(first,last

)vectorv1; 

vectorv2(init_size,0); 

vectorv3(v2);

方法:c.assign(beg,end)c.assign(n,elem)

將(beg; end)

區間中的資料賦值給c。將

n個elem

的拷貝賦值給c。

c. at(idx)

傳回索引

idx所指的資料,如果

idx越界,丟擲

out_of_range。

c.back()

傳回最後乙個資料,不檢查這個資料是否存在。

c.begin()

傳回迭代器中的第乙個資料位址。

c.capacity()

返回容器中資料個數。

c.clear()

移除容器中所有資料。

c.empty()

判斷容器是否為空。

c.end() // 

指向迭代器中末端元素的下乙個,指向乙個不存在元素。

c.erase(pos)// 

刪除pos

位置的資料,傳回下乙個資料的位置。

c.erase(beg,end)

刪除[beg,end)

區間的資料,傳回下乙個資料的位置。

c.front()

傳回第乙個資料。

get_allocator

使用建構函式返回乙個拷貝。

c.insert(pos,elem)// 

在pos

位置插入乙個

elem

拷貝,傳回新資料位置 

c.insert(pos,n,elem)// 

在pos

位置插入n個

elem資料,

無返回值 

c.insert(pos,beg,end)// 

在pos

位置插入在

[beg,end)

區間的資料。無返回值 

c.max_size()

返回容器中最大資料的數量。 

c.pop_back()

刪除最後乙個資料。 

c.push_back(elem)

在尾部加入乙個資料。 

c.rbegin()

傳回乙個逆向佇列的第乙個資料。 

c.rend()

傳回乙個逆向佇列的最後乙個資料的下乙個位置。 

c.resize(num)

重新指定佇列的長度。 

c.reserve()

保留適當的容量。 

c.size()

返回容器中實際資料的個數。 

c1.swap(c2)// 將c1

和c2元素互換

例子:為了幫助理解向量的概念,這裡寫了乙個小例子,其中用到了

vector

的成員函式:

begin()

,end()

,push_back()

,assign()

,front()

,back()

,erase()

,empty()

,at()

,size()。

//stl_cpp_8.cpp

#include#includeusingnamespace std;

typedefvectorintvector;//自定義型別intvector

//測試vector容器的功能

voidmain(void)

{ //vec1物件初始為空

intvectorvec1;

//vec2物件最初有10個值為6的元素

intvectorvec2(10,6);

//vec3物件最初有3個值為6的元素,拷貝構造

intvectorvec3(vec2.begin(),vec2.begin()+3);

//宣告乙個名為i的雙向迭代器

intvector::iteratori;

//從前向後顯示vec1中的資料

cout<<"vec1.begin()--vec1.end():"<

push_back()

是將資料放入

vector

(向量)或

deque

(雙端佇列)的標準函

數。insert()

是乙個與之類似的函式,然而它在所有容器中都可以使用,但是用法更加複雜。

end()

實際上是取末尾加一,以便讓迴圈正確執行--它

返回的指標指向最靠近陣列界限的資料。

c 容器vector使用方法總結

for vector iterator i a.begin i a.end i 要使用迭代器 iterator 使用vexctor容器必須包含 vector 標頭檔案,然後建立乙個vector容器物件 方式很多種,這裡就不一一介紹了,具體看例項 d 然後我們對vector容器初始化賦值 可以使用pu...

C 中vector容器型別的使用方法

vector類為內建陣列提供了一種替代表示,與string類一樣 vector 類是隨標準 c 引入的標準庫的一部分 為了使用vector 我們必須包含相關的標頭檔案 include 使用vector有兩種不同的形式,即所謂的陣列習慣和 stl習慣。1.定義乙個已知長度的 vector vector...

vector使用方法

在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...