C vector用法小記

2021-09-28 16:44:41 字數 3357 閱讀 8952

最近在leetcode上面做題,stl的vector用的甚多,這裡稍微的總結下vector的一些常用方法,包括一維的和二維的,暫時能想到的就給記下了。

建立一維vector:

vector<

int> nums;

//不指定長度

vector<

int>

nums

(n);

// 指定長度為n

新增元素

nums.

push_back(1

);//直接從陣列末端新增

nums[i]=1

;//直接賦值給第i個位置

刪除元素

nums.

resize

(nums.size-i)

;//直接將陣列長度減小,某種方式上刪掉了後面i個

nums.

pop_back()

;//刪掉最後乙個元素

陣列遍歷

for

(int i =

0; i < nums.

size()

; i++

)

其他

獲得長度:nums.size()

排序(o(nlogn)):sort(nums.begin(),nums.end());

翻**reverse(nums.begin(), nums.end());

合併兩個vector:合併nums1和nums2,並將合併後的陣列賦值給nums

vector<

int>

nums1

(m),

nums2

(n);

vector<

int> nums;

nums.

resize

(m+n)

;merge

(nums1.

begin()

, nums1.

end(

),nums2.

begin()

,nums2.

end(

),nums)

;

建立m*n的二維vector: 直接定義

vectorint>

>

nums

(m ,vector<

int>

(n))

;//m*n的二維vector

動態建立m*n的二維vector

方法一:

vectorint>

> nums;

nums.

resize

(m);

for(

int i=

0;i) nums[i]

.resize

(n);

方法二:

vectorint>

> nums;

nums.

resize

(m,vector<

int>

(n))

;

動態建立二維陣列nums[m][n]

c語言版:

#include

int*

*a=(

int**)

malloc

(m*sizeof

(int*)

);for(

int i=

0;i)a[i]=(

int*

)malloc

(n*sizeof

(int))

;

c++版:

int

**nums=

newint

*[m]

;for

(int i=

0;i) nums[i]

=new

int[n]

;

初始化二維陣列

vectorint>

>

nums

(m ,vector<

int>

(n,0))

;//m*n的二維vector,所有元素為0

獲得二維陣列的行數:nums.size();

獲得二維陣列的列數:nums[0].size()

陣列遍歷

int m = nums.

size()

,n = nums[0]

.size()

;for

(int i =

0; i < m; i++

)}

int size():返回容器內的元素個數

void clear():清空所有元素

bool empty()判斷是否為空

void push_back(int x)在表尾新增x

void pop_back()刪除表尾元素

back():返回表尾元素

front():返回表頭元素

operator (int idx):返回vector中idx索引位置的物件

int capacity():返回vector的內部容量

void reserve(int capacity):設定vector的新容量

c vector 基本用法

include a.push back x x 為插入的資料out coll.erase coll.begin i,coll.begin j 刪除區間 i 1,j coll.erase coll.begin 2,coll.begin 5 刪除區間 3,5 coll.erase coll.begin ...

C vector用法初記

建立一維vector vector nums 不指定長度 vector nums n 指定長度為n新增元素 nums.push back 1 直接從陣列末端新增 nums i 1 直接賦值給第i個位置刪除元素 nums.resize nums.size i 直接將陣列長度減小,某種方式上刪掉了後面i...

C vector用法總結

向量 vector 是一種物件實體,能夠容納許多其他型別相同的元素,因此又被稱為容器。與string相同,vector 同屬於stl standard template library,標準模板庫 中的一種自定義的資料型別,可以廣義上認為是陣列的增強版。vector 容器與陣列相比其優點在於它能夠根...