在c++中,vector是乙個十分有用的容器,下面對這個容器做一下總結。
1 基本操作
(1)標頭檔案#include.
(2)建立vector物件,vectorvec;
(3)尾部插入數字:vec.push_back(a);
(4)使用下標訪問元素,cout
vector::iterator it;3 演算法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
(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...