我需要按子数组中第一个元素的降序对数组进行排序。例如如果我有数组
3 4
5 6
1 2
它需要根据每行的第一个元素进行排序,所以它是
1 2
3 4
5 6
目前这是我所拥有的,但正如预期的那样不起作用:
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
bool compare(int a[], int b[]){
// cout << arr;
return a[0] > b[0];
}
int main(){
int arr[3][2] = {
{3, 4},
{5, 6},
{1, 2}
};
sort(arr, arr + 3, compare);
cout << arr[0][0] << " " << arr[0][1] << endl;
cout << arr[1][0] << " " << arr[1][1] << endl;
cout << arr[2][0] << " " << arr[2][1];
}
这个问题可能与我对指针如何在二维数组上工作的理解有关。我是一个 java main,所以整个指针概念和将函数作为参数传递的概念对我来说都是新的。想知道如何修复代码,以及如何学习/使用指针的技巧?