向量vector理解

2021-07-16 05:54:56 字數 2255 閱讀 6447

學習總結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...