for(vector::iterator i=a.begin();i!=a.end();i++) 要使用迭代器 iterator使用vexctor容器必須包含」vector」標頭檔案,然後建立乙個vector容器物件(方式很多種,這裡就不一一介紹了,具體看例項 :d),然後我們對vector容器初始化賦值(可以使用push_back在容器尾端加入元素),如果我們要對vector容器遍歷的話,
可以常用陣列或者迭代器的方式.
下面的例子展示了如何用陣列方式訪問vector元素.
#include
#include
using namespace std;
int main(void)
執行結果:
v[0] = 11
v[1] = 22
v[2] = 33
//如果要使用迭代器的方式訪問的話就要使用vector容器提供的iterator型別,定義乙個迭代器變數,然後對迭代器進行自增」++」,或者自減」--」之類的操作就可以將迭代器從乙個元素位置移動到另乙個元素位置,
然後再通過取值」*」操作,就可以得到迭代器指向的元素.
vector容器還提供了begin()和end()函式,用於獲取首元素的迭代器和最後乙個元素的下一位置的迭代器(標註1).
下面的**就展示了如何用迭代器訪問vector:
#include
#include
using namespace std;
int main(void)
執行結果: (同上)
//除了了push_back函式,可以給vector容器新增元素以外,insert函式則可以在任意位置插入元素.由於插入時候要先將插入位置後面的元素後移,因此insert函式耗時比push_back函式久.
下面**就展示了如何使用insert函式:
#include
#include
using namespace std;
int main(void)
執行結果: (類似於上)
//學會了如何給vector容器新增元素以後,當然要知道怎麼刪除元素了.vector容器提供了erase函式,可以用來刪除指定元素或者迭代器區間[first,last),(標註1).
vector容器提供另乙個刪除元素的函式是clear函式,它在內部呼叫了erase函式將[begin().end())區間的元素刪除.
下面**展示了如何使用erase函式和clear函式:
#include
#include
using namespace std;
int main(void)
執行結果:
v[0] = 11
v[1] = 33
vector clear()!
//之前我們用的迭代器是正向,vector還提供了反向迭代器(reverse_iterator,相應的rbegin(),rend()),具體使用方法跟之前的一樣,這裡就不舉例了.(浪費篇幅:-d)
//如果你想交換兩個vector容器元素的話,可以使用swap()函式.
下面**展示了如何使用swap函式:
#include
#include
using namespace std;
void print(vector& v)
int main(void)
int main(void)
執行結果: (篇幅有限,故略之
vector容器的使用方法
這個網上隨便都有啦,google一下,應有盡有。說明 vector 是一種動態陣列 是基本 陣列的類模板。其內部定義了很多基本操作。include 注意 標頭檔案沒有 h 構造 這個建構函式還有乙個可選的引數,這是乙個型別為 t的例項,描述了各個向量種各成員的初始值 如 vectorv2 init ...
C 中vector容器型別的使用方法
vector類為內建陣列提供了一種替代表示,與string類一樣 vector 類是隨標準 c 引入的標準庫的一部分 為了使用vector 我們必須包含相關的標頭檔案 include 使用vector有兩種不同的形式,即所謂的陣列習慣和 stl習慣。1.定義乙個已知長度的 vector vector...
vector使用方法
在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...