C 標準庫型別 vector

2021-08-26 05:38:13 字數 1920 閱讀 2540

標準庫型別 vector 表示物件的集合,也稱容器。

#include 

using

std::vector ;

構造初始化:使用(),數字表示元素個數。

列表初始化:使用,數字表示元素。列表中的元素必須是相同型別,否則嘗試轉化為構造初始化。

// v1 有10個元素,使用預設初始化=0

vector

v1(10);

// v1 有1個元素10

vector

v2;

如果 vector 的元素無法確定或者元素太多,一般先聲名乙個空的 vector,然後使用 push_back 新增元素。

// 迴圈讀入,存放在 vector 中

string word;

vector

text;

while(cin >> word)

// 建立乙個包含0~99的vector

比較,下標操作與string型別類似,注意:

// 統計不同分數段的人數

vector

scores(11, 0);

unsigned grade;

while(cin >> grade)

vector 是可增長的陣列實現,內部一陣列的方式儲存

迭代器成員:

聲名定義迭代器

auto b = v.begin();

auto e = v.end();

// 使用迭代器把第乙個單詞改為大寫

string s("***")

for(auto it = s.begin(); it != s.end() && !isspace(*it); ++it)

*it = toupper(*it);

迭代器的型別

vector

v;const

vector

cv;// it1 為 vector::iterator 型別

auto it1 = v.begin();

// it2 為 vector::const_iterator 型別

auto it2 = cv.begin();

為了便於得到 const_iterator 型別的返回值,可用下面兩個成員:

使用迭代器完成二分搜尋:

// 要搜尋的數

int num = xx;

// 待搜尋的 vector

vector

text

auto beg = text.begin(), end = text.end();

auto mid = text.begin() + (end - beg)/2;

while(mid != end && *mid != num)

C 標準庫vector型別

vector屬於順序容器,所謂順序容器,就是元素的順序與元素的值無關,與元素加入容器的位置相對應。對於vector可以將其理解為可變大小陣列,支援快速隨機訪問,在尾部之外的位置插入刪除可能會比較慢。了解完概念接下來就開始學習它的用法 假設以下 前面都包含vector標頭檔案,幷包含using nam...

c 標準庫型別 vector

一 標準庫型別vector表示物件的集合,物件型別相同,需要 include using namespace std or using std vector 二 定義和初始化vector物件 vectorv1 vectorv2 v1 vectorv2 v1 vectorv3 n,val n個val元...

C 標準庫型別 vector

vector表示物件的集合,其中所有的物件的型別均相同。如果需要使用vector,需要 include using std vector vector name 其中t表示物件的型別,除了基本內建型別外,也可以是string,甚至是vector型別vectorv1 預設初始化 vectorv2 v1...