vector是向量類型,它是一種對象實體,具有值,所以可以看作是變量。 它可以容納許多其他類型的相同實體,如若干個整數,所以稱其為容器。
vector類與一般的Array類的區別在於:
1. vector支持“向現有的數組元素賦值”的概念以及“插入額外元素”的概念--即vector數組可以在。
2. 代表了更加廣泛的應用。它的操作(如等於、小於操作符, size()、 empty()等操作)。一些通用的操作(如sort()、 min() 、max()和find()等等),則是作為獨立的泛型算法提供的。
vector 是一種對象實體, 能夠容納許多其他類型相同的元素, 因此又被稱為容器。 與string相同, vector 同屬於STL(Standard Template Library, 標准模板庫)中的一種自定義的數據類型, 可以廣義上認為是數組的增強版。
#include<vector>
。此外, vector 也提供了許多的方法來對自身進行操作。
> a ; vector<> a() ; vector<> a(, ) ; vector<> b(a) ; vector<> b(a.begin(), a.begin()+) ;
n[] = {, , , , <> a(n, n+) ; vector<> a(&n[], &n[]) ;
cin>>進行輸入, cout<<a[n]這樣進行輸出:
#include<iostream> #include<vector> vector<> a(, ) ; cin >>a[ cin >>a[ cin >>a[ (i=; i<a.size(); i++ cout<<a[i]<< }
。在 vector<int> b(a.begin(), a.begin()+3) ; 這種聲明形式中, (a.begin()、a.begin()+3) 表示向量起始元素位置到起始元素+3之間的元素位置。(a.begin(), a.end())則表示起始元素和最後一個元素之外的元素位置。
, 同時, , 在向量中遍歷器的類型為: vector<int>::iterator。 遍歷器不但表示元素位置, 還可以再容器中前後移動。
vector<>(t=a.begin(); t!=a.end(); t++<<*t<< ;
*t 為的間接訪問形式, 意思是訪問t所指向的
>. a.size()
>. a.empty()
>. a.clear()
4>復制 a = b ;
5>比較 保持 a == b ;
6>. 插入 - insert ①、 a.insert(a.begin(), 1000); a.insert(a.begin(), ) ; <> a(, <> b(
7>. 刪除 - erase ①、 b.erase(b.begin()) ; ②、 b.erase(b.begin(), b.begin()+3) ;
. 交換 - swap b.swap(a) ;
(b.begin(), b.begin()+3); //b向量的0~2元素構成向量賦給a (4,2); //使a向量只含0~3元素,且賦值為2 (); //將a的最後一個向量元素值賦給整數型變量x (); //a向量中元素清空(不再有元素) ()) cout<<"empty"; //a.empty()經常作為條件,判斷向量是否為空 (); //將a的第一個向量元素值賦給整型變量y (); //刪除a向量的最後一個元素 (5); //在a向量最後插入一個元素,其值為5 (10); //將向量元素個數調至10個。多則刪,少則補,其值隨機 (10,2); //將向量元素個數調至10個。多則刪,少則補,其值為2
這裡是一段代碼,操作了對vector進行賦值的四種方法
#include <iostream><vector> main(<> a(); vector<> b(,); vector<> c(b); vector<> d(b.begin(),b.begin() + ); << ( i=;i<a.size();i++<< a[i] << ; << << (vector<>::iterator it = a.begin();it!=a.end();++<< *it << ; cout << << +); (vector<>::iterator it = a.begin();it!=a.end();++<< *it << << << ,); (vector<>::iterator it = a.begin();it!=a.end();++<< *it << << << x = a.back(); cout << << x <<<< y = a.front(); cout << << y <<<< (a.empty()) cout << <<<< ); (vector<>::iterator it = a.begin();it!=a.end();++<< *it << << << ,); (vector<>::iterator it = a.begin();it!=a.end();++<< *it << << << ); (vector<>::iterator it = a.begin();it!=a.end();++<< *it << << << (vector<>::iterator it = a.begin();it!=a.end();++<< *it << << << (a==b) cout << <<
> > b(, vector<>());
例:
#include<iostream> #include<vector> vector< vector<> > b(, vector<>(, cin>>b[][ cin>>b[][ cin>>b[][ (m=; m<b.size(); m++) (n=; n<b[m].size(); n++) cout<<b[m][n]<< cout<< }