二維陣列用sort排序遇到得問題

2021-08-18 07:44:29 字數 1073 閱讀 8765

在用二維陣列做排序得過程中,出現得一些問題,下面先看**,**內容可以忽視

#include#include#include#include#include#include#includeusing namespace std;

bool cmp( int *c, int *b)

else

return c[0] < b[0];

}int main(void)

sort(a, a + t, cmp);

int sum = 0, book[300], last_end = 0;

memset(book, 0, sizeof(book));

for (int j = 0; j < t; j++)

}cout << sum << endl;

}}

在這個**裡面,二維陣列是直接定義的,即int a[3][300],然而出現了下面的報錯

根據上圖,檔案下面顯示的algorithm可以看出,在將陣列a帶入sort函式時出現了錯誤,搗鼓了一段時間發現,用new來申請陣列空間的指標陣列能解決這個問題,如下**

#include#include#include#include#include#include#includeusing namespace std;

bool cmp(int *c, int *b)

else

return c[0] < b[0];

}int main(void)

for (int i = 0; i < t; i++)

sort(a, a + t, cmp);

int sum = 0, book[300], last_end = 0;

memset(book, 0, sizeof(book));

for (int j = 0; j < t; j++)

} cout << sum << endl;

}}

Matlab 用sort函式排序 二維陣列

在matlab中排序某個向量 一維 時,可以使用sort a 其中a為待排序的向量,如果僅是用來排序a,那麼直接使用sort a 即可,如果排序後還需要保留原來的索引可以用返回值,即 b,ind sort a 計算後,b是a排序後的向量,a保持不變,ind是b中每一項對應於a 中項的索引。排序是安公...

二維陣列排序

一維陣列排序可以使用asort 公升序 ksort 降序 二維陣列排序可以使用array mutisort和usort進行排序 users array array id 1,age 12 array id 2,age 13 array id 3,age 44 array id 4,age 22 ar...

PHP陣列排序,一維陣列,二維陣列排序。

一維陣列排序 1 sort,rsort排序 r reverse表示翻轉,即為降序排列 通過鍵值排序。arr array 10,2,4,1,5,8,7,9 等效於 arr array 0 10,1 2,2 4,3 1,4 5,5 8,6 7,7 9 預設的排序,按鍵值公升序排序,鍵名被從新規定,例如1...