【发布时间】:2016-11-10 12:48:53
【问题描述】:
我正在尝试对二维数组(矩阵)进行排序,而一维数组的排序与行顺序相关。
如何定义合适的比较函数?
(或者。我是否必须编写自己的复古风格冒泡排序函数)
double matrix[4][3];
double id[4];
fillAllArrays();//declared somewhere
std::sort(std::begin(matrix),std::end(matrix),compare);
//how can I define compare function ?
下面的演示显示了输入的两个数组(之前)以及我希望它们在部分(之后)中排序的内容,因为我对 id 数组值进行排序,矩阵的相关行应该以相同的方式重新排序。
(提前感谢您的任何回复和想法)
之前
double matrix[4][3]
0.45 0.67 0.41
0.94 0.34 0.34
0.12 0.50 0.42
0.34 0.52 0.74
double id[4]
35
67
12
47
后
double matrix[4][3]
0.12 0.50 0.42
0.45 0.67 0.41
0.34 0.52 0.74
0.94 0.34 0.34
double id[4]
12
35
47
67
【问题讨论】:
-
不清楚你将如何对数组进行排序。
标签: c++ arrays sorting matrix cross-platform