C 中vetor的使用

2021-07-10 04:53:15 字數 999 閱讀 7179

在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();

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

#include#include#include#includeusing

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),這樣就降序排序。

**:

不可思議的縮小vetor

如果vector的空間不夠時,會自動的申請新的空間,空間大小為舊空間的2倍,然後將舊空間的資料拷貝到新空間,最後將舊空間釋放。這種保留額外的記憶體空間已被將來增長的需要,從而防止增加新元素時過於頻繁的重新分配。這也是vector比陣列好的一點。當然有沒有想過,1 如果原有的舊空間為128,現在需要的...

C 中 的使用

c 中的方括號可用於陣列,索引,屬性,更重要的是可以用於外部dll類庫的引用。c 實現.net元件與com元件的互操作 dllimport kernel32.dll 這叫引入kernel32.dll這個動態連線庫。這個動態連線庫裡面包含了很多windowsapi函式,如果你想使用這面的函式,就需要這...

c 中 的使用

對於習慣使用c進行開發的朋友們,在看到c 中出現的 符號,可能會犯迷糊,因為在c語言中這個符號表示了取位址符,但是在c 中它卻有著不同的用途,掌握c 的 符號,是提高 執行效率和增強 質量的乙個很好的辦法。在 c 學習提高篇 3 隱式指標的文章中我詳細介紹了在隱式指標 的用法,其實這兩個概念是統一的...