Arangest 2024-01-11 19:57 采纳率: 71.4%
浏览 6

sort的二维数组排序

想通过sort函数对一个二维数组排序降序,但是一直报错误,找不到原因

```c++
#include <iostream>
#include <algorithm>

using namespace std;

const int N = 5010;
int a[N][3];

bool compare0(const int(&row1)[3], const int(&row2)[3]) {
    if (row1[0] != row2[0])       
        return row1[0] > row2[0];
    if (row1[1] != row2[1])
        return row1[1] > row2[1];
    return row1[2] > row2[2];
}

int main() {
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        scanf("%d%d%d", &a[i][0], &a[i][1], &a[i][2]);
    }
    sort(a, a + n, compare0);
    for (int i = 0; i < n; i++)
        printf("%d %d %d\n", a[i][0], a[i][1], a[i][2]);

    return 0;
}

```

  • 写回答

2条回答 默认 最新

  • [PE]经典八炮 2024-01-11 20:17
    关注

    二维数组又不能整行交换
    你可以用结构体数组之类的

    评论

报告相同问题?

问题事件

  • 创建了问题 1月11日