C 容器之動態陣列vector

2021-10-14 16:27:39 字數 2577 閱讀 7911

定義vector物件的時候先不用指定陣列的大小,有資料的化就往陣列裡面插入就可以了。vector內部自己管理儲存空間。

#include //注意沒有.h

using namespace std;

*vector是乙個類模板,可以定義任何型別

例:vector arr_int; //定義了乙個內部元素是int的動態陣列

vector arr_char; //定義了乙個內部元素是char的動態陣列

vector arr_studet; //定義了乙個內部元素是cstring的動態陣列

vector> arr_pchar; //定義了乙個內部元素是char的動態陣列

#include

using

namespace std;

intmain

(int argc,

char

* ar**)

; vector<

int>five (myints,myints *

sizeof

(myints)

/sizeof

(int))

;//使用乙個普通的int陣列來初始化當前物件

return0;

}

vectorarr_int;

①arr_int[idx] 或 arr_int.at(idx) //返回動態陣列中下標為idx的arr_int[idx]元素的值

②arr_int.size(

); //返回arr_int陣列元素的總個數

③arr_int.front(

); //返回arr_int 陣列的第乙個元素的值

④arr_int.back(

); //返回arr_int陣列的最後乙個元素的值

⑤arr_int.clear(

); //清空arr_int陣列

⑥arr_int.begin(

); //返回arr_int陣列的第乙個下標

⑦arr_int.end(

); //返回arr_int陣列最後乙個數的下標

⑧arr_int.empty(

); //判斷arr_int陣列是否為空,如果為空返回true,非空返回false

⑨arr_int.swap(v1)

; //v1是另乙個動態陣列,將arr_int和v1兩個動態陣列的元素互換

⑩swap(arr_int,v1)

; //同⑨

vector支援動態插入也有多種方式:

①呼叫push_back在尾部插入乙個元素,只能是乙個乙個的插入:arr_int.push_back(3);

②呼叫insert在下標為1的前面插入乙個元素,arr_int.insert(arr_int.begin()+1,888);

③呼叫insert在下標為2的前面插入3個888元素,arr_int.insert(arr_int.begin()+2,3,888);

vector<

int>arr_int,arr_2;

arr_int.

push_back(0

);arr_int.

push_back(1

);arr_int.

push_back(3

);arr_2.

push_back(2

);arr_2.

push_back(5

);arr_2.

push_back(6

);arr_int.

insert

(arr_int.

begin()

+2,arr_2.

begin()

,arr_2.

end())

;int sz_int=

;arr_int.

insert

(arr_int.

begin()

+4,sz_int,sz_int+3)

;

①arr_int.pop_back(); //刪除arr_int動態陣列的最後乙個元素

②arr_int.erase(v.begin()+1,v.end()-r); //刪除arr_int動態陣列中下標(1,v.end()-r)的元素

③arr_int.erase(v.begin()+k); //刪除arr_int動態陣列的下標為k的元素,返回下一位置的迭代器

①因為vector也是陣列,所以使用索引下標遍歷。

for

(int fa=

0;fasize()

;++fa)

②使用迭代器

for

(vector<

int>

::iterator itor = arr_int.

begin()

, itor != arr_int.

end();

++itor)

C 容器類Vector 動態陣列

3.vector 示例 大多數程式語言都提供內建的動態陣列,它仍然是乙個隨機訪問的列表資料結構,但大小是可變的。例如,在 c 中的 vector。向量 vector 是乙個封裝了動態大小陣列的順序容器 sequence container 容器類 跟任意其它型別容器一樣,它能夠存放各種型別的物件。可...

C 動態順序容器vector

c 動態順序容器vector 1.vector簡介 vector是c 標準模板庫中的部分內容,是模板類函式。之所以稱它為容器,是因為它能容納多種資料型別的物件。vector是順序容器,容器中的元素按照嚴格的線性順序排列,根據位置下標來儲存和訪問元素。同時它也是動態陣列,空間運用比較靈活,隨著元素加入...

STL學習筆記 vector容器 動態陣列

簡介 vector是將元素置於乙個動態陣列中進行管理的容器 vector可以隨機訪問元素,支援索引值直接訪問,用或者at 方法 vector下尾部新增或者刪除元素非常快,但在中間或頭部插入或者刪除元素比較耗時 標頭檔案 include vector基本操作 vectorv v.push back 1...