C 中二維向量使用及排序

2021-09-26 02:31:49 字數 2973 閱讀 3814

要加乙個空格。

vector

int>> a;

//錯誤的定義方式

vector

int>

> a;

//正確的定義方式

二維陣列是我們假象的,其實是連續的記憶體位址。

現在若想定義a = [ [0,1,2] , [3,4,5] , [2,3,9] , [6,1,10] ],則:

//正確的插入方式

vector

int>

> a;

裡必須是vector

vector<

int> b;

b.push_back(0

);b.push_back(1

);b.push_back(2

);a.push_back

(b);

b.clear()

;//清空b

b.push_back(3

);b.push_back(4

);b.push_back(5

);a.push_back

(b);

b.clear()

;//清空b

b.push_back(2

);b.push_back(3

);b.push_back(9

);a.push_back

(b);

b.clear()

;//清空b

b.push_back(6

);b.push_back(1

);b.push_back(10

);a.push_back

(b);

b.clear()

;

//錯誤的插入方式

vector

int>

> a;a[0

].push_back(0

);a[0

].push_back(1

);a[0

].push_back(2

);a[1

].push_back(3

);a[1

].push_back(4

);a[1

].push_back(5

);a[2

].push_back(2

);a[2

].push_back(3

);a[2

].push_back(9

);a[3

].push_back(6

);a[3

].push_back(1

);a[3

].push_back(10

);

//vector>a中的vector元素的個數

len = a.

size()

;//vector>a中第i個vector元素的長度

len = a[i]

.size()

;

訪問某元素時,方法和二維陣列相同,例如:

//根據前面的插入,可知輸出5

printf

("%d\n"

, a[1]

[2])

;

一維向量的排序我們都會,可以自定義cmp函式或less/greater來告訴編譯器我們想要的排序順序。

//按第一列降序,descending order by first column

//按第二列降序,descending order by second column

c 中二維陣列與二維向量的長度

對於乙個二維陣列 int mm 3 5 int toatlnums sizeof mm sizeof int 元素總個數 int cols sizeof mm 0 sizeof int 行 int raws totalnums cols 列對於乙個二維向量 vector matrix int raw...

C 中二維陣列

一 為什麼要使用多維陣列 生活中,有很多事物,僅僅用一維陣列,將無法恰當地被表示。還是說學生成績管理吧。乙個班級30個學員,你把他們編成1到30號,這很好。但現在有兩個班級要管理怎麼辦?人家每個班級都自有自的編號,比如一班學生編是1 30 二班的學生也是1 30。你說,不行,要進行計算機管理,你們兩...

C 中二維陣列的使用

在c 中,如果陣列的元素又是陣列,則稱為二維陣列,其每一維對應乙個下標,第一維通常稱為行 row 第二維則稱為列 column 例如 int a 2 3 可以將二維陣列a看成是乙個2行 3列的矩陣。可以使用花括號括起來的初始化式列表來初始化二維陣列的元素。int a 2 3 也可以不使用花括號,而是...