學習總結vector
vector是一種向量型別,它是一種物件實體,可以容納許多種其他型別實體,稱其為容器。vector是c++stl的重要一員,使用時包含標頭檔案#include
vector可以有四種定義方式
(1)vectora(10);//定義了10個整數元素的向量,但並沒有給出初值,vector是模板形式, t可以是任何合法的資料型別
(2)vectorb(10, 1);//定義了10個整數元素的向量,且每個元素的初值為1,而這種形式是陣列難以做到的,陣列只能通過迴圈來成批的賦給相同的初值
(3)vectorc(b);//用另乙個現成的向量來建立乙個向量
(4)vectord(b.begin(), b.begin+3);//定義了其值依次為b向量中第0個到第二個(共3個)元素的向量
3.vector輸出元素的兩種迴圈方式,例
int a[7] = ;
voctorv(a, a + 7);//陣列的長度也可由sizeof(a)/sizeof(a[0])確定
//迴圈方式一
for(int i = 0; i < v.size(); i++)
cout << v[i] << " ";
//迴圈方式二
for(vector:: iterator it = v.begin(); it != v.end(); it++)
cout << *it << " ";//*it是指標間訪形式,他的意義是it指向的元素值
向量在c++程式設計中是一種是頻率很高的資料型別,不僅僅是因為資料的順序排列性在生活中常見,還因為向量有一些整體賦值、判空和元素新增等,特別是向量可以自動伸展,容量可以自動增大,使得對一些不確定數量的順序性運算元據,帶來了極大的方便
1>. a.size() //獲取向量中的元素個數
2>. a.empty() //判斷向量是否為空
3>. a.clear() //清空向量中的元素
4>. 複製
a = b ; //將b向量複製到a向量中
5>. 比較
保持 ==、!=、>、>=、<、<= 的慣有含義 ;
如: a == b ; //a向量與b向量比較, 相等則返回1
6>. 插入 - insert
①、 a.insert(a.begin(), 1000); //將1000插入到向量a的起始位置前
②、 a.insert(a.begin(), 3, 1000) ; //將1000分別插入到向量元素位置的0-2處(共3個元素)
③、 vectora(5, 1) ;
vectorb(10) ;
b.insert(b.begin(), a.begin(), a.end()) ; //將a.begin(), a.end()之間的全部元素插入到b.begin()前
7>. 刪除 - erase
①、 b.erase(b.begin()) ; //將起始位置的元素刪除
②、 b.erase(b.begin(), b.begin()+3) ; //將(b.begin(), b.begin()+3)之間的元素刪除
8>. 交換 - swap
b.swap(a) ; //a向量與b向量進行交換
對於二維向量vector>
如果乙個向量的每乙個元素是乙個向量,則稱為二維向量
例:vector> a;//這裡,兩個「>」間的空格是不可少的
vector< vector > b(10, vector(5)); //實際上建立的是乙個向量中元素為向量的向量。同樣可以根據一維向量的相關特性對二維向量進行操作。建立乙個10*5的int型二維向量
#include#includeusing namespace std ;int main()
{vector< vector> b(10, vector(5, 0)) ;
//對部分資料進行輸入
cin>>b[1][1] ;
cin>>b[2][2] ;
cin>>b[3][3];
//全部輸出
int m, n ;
for(m=0; m
這些就是一些小小的關於vector的理解了哈
vector向量容器
vector容器是陣列的乙個泛化推廣,不僅可以像陣列那樣進行元素的隨機訪問,還可以在容器的尾端插入新元素,實現了random access container和back insertion sequence概念。vector具有自動的記憶體管理功能,對於元素的插入和刪除,能夠動態調整占用的記憶體空間...
Vector向量容器
vector向量容器優點 1 vector向量容器不但能像陣列一樣對元素進行隨機訪問,還能在尾部插入元素,是一種簡單 高效的容器,完全可以取代陣列。2 vector向量容器具有記憶體自動管理的功能,對於元素的插入和刪除,可動態調整所佔的記憶體空間。3 對於vector容器的容量定義,可以事先定義乙個...
vector向量容器
vector向量容器 include include vector向量容器標頭檔案 include c語言標頭檔案 include 使用sort演算法 using namespace std bool comp int a,int b 自定義函式從大到小排序 int main cin x v.ins...