c vector容器的巢狀使用

2021-10-09 20:50:02 字數 1220 閱讀 8463

目錄

1、定義

2、新增元素

3、訪問元素

4、長度

vectorint>> m;
這裡是vector的巢狀使用,本質是vector元素裡的每個元素也是vector型別,所以抓住本質來新增元素就比較容易理解。

我們假設外層的vector的物件為m,為外層vector物件,則m中的每乙個元素也是vector型別,記為n1,n2,n3……,為內層物件

則,我們得先形成乙個個的n1,n2等的vector物件,然後再將這些vector物件新增進入外層vector物件m中

這樣就比較容易理解向vector>物件新增元素的原理了,實現如下:

如m=[[1 2 3], [4 5 6]],新增方式如下:

vectorint>> m;

//外層vector物件m

vector<

int> n;

//內層vector物件 n.

push_back(1

);n.push_back(2

);n.push_back(3

);//已經形成第乙個內層vector物件n1 m.

push_back

(n);

//將形第乙個內層vector物件n新增到外層vector物件m中

n.clear()

;//清楚n中的元素,可以繼續存放後續vector物件 n.

push_back(4

);n.push_back(5

);n.push_back(6

);//已經形成第乙個內層vector物件n2 m.

push_back

(n);

//將形第乙個內層vector物件n新增到外層vector物件m中

n.clear()

;//清楚n中的元素,可以繼續存放後續vector物件

訪問元素和二維陣列相同,m[0][0],訪問m中第乙個vector物件的第乙個元素,值為1;

(1)m中vector的個數:m.size();

(2)m中第i個vector元素的長度:m[i].size();

目錄

1、定義

2、新增元素

3、訪問元素

4、長度

C vector容器使用

一 vector容器四種遍歷方式 include include include using namespace std void print vector v bool mycmpare const int a,const int b 定義三個結構體 struct cvector2 struct ...

C vector和map的巢狀使用

在實習公司的專案裡,需要儲存每個使用者及其所有的操作指令,我想到的是用multimap,或者是map和vector巢狀的資料結構來儲存這些資料。一開始是想用multimap的,因為巢狀的給人感覺比較複雜,使用後發現multimap在遍歷輸出的時候,如果想以使用者來劃分有點麻煩了,除了操縱容器外還需要...

C vector容器 互換容器

vector容器互換 功能描述 實現兩個容器內元素進行互換 函式原型 swap vec 將vec與本身的元素互換 1.基本使用 如下 include using namespace std vector容器互換 include 1.基本使用 void printvector vector int v...