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日

悬赏问题

  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式
  • ¥15 如果要做一个老年人平板有哪些需求
  • ¥15 k8s生产配置推荐配置及部署方案
  • ¥15 matlab提取运动物体的坐标