c vector 動態陣列用法

2021-07-10 01:40:38 字數 1043 閱讀 1196

在c++中,vector是乙個十分有用的容器,下面對這個容器做一下總結。

1 基本操作

(1)標頭檔案#include.

(2)建立vector物件,vectorvec;

(3)尾部插入數字:vec.push_back(a);

(4)使用下標訪問元素,cout

vector::iterator it;

for(it=vec.begin();it!=vec.end();it++)

cout

<

(7)刪除元素:    vec.erase(vec.begin()+2);刪除第3個元素

vec.erase(vec.begin()+i,vec.end()+j);刪除區間[i,j-1];區間從0開始

(8)向量大小:vec.size();

(9)清空:vec.clear();

2vector的元素不僅僅可以使int,double,string,還可以是結構體,但是要注意:結構體要定義為全域性的,否則會出錯。下面是一段簡短的程式**:

#include#include

#include

#include

using

namespace

std;

typedef

struct

rect

3  演算法

(1) 使用reverse將元素翻**需要標頭檔案#include

reverse(vec.begin(),vec.end());將元素翻轉(在vector中,如果乙個函式中需要兩個迭代器,

一般後乙個都不包含.)

(2)使用sort排序:需要標頭檔案#include,

sort(vec.begin(),vec.end());(預設是按公升序排列,即從小到大).

可以通過重寫排序比較函式按照降序比較,如下:

定義排序比較函式:

bool comp(const int &a,const int &b)

呼叫時:sort(vec.begin(),vec.end(),comp),這樣就降序排序。

C Vector 動態陣列

constructors 建構函式 operators 對vector進行賦值或比較 assign 對vector中的元素賦值 at 返回指定位置的元素 back 返回最末乙個元素 begin 返回第乙個元素的迭代器 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...