sách gpt4 ai đã đi

rust - Vec<>> 按第一个元素升序排序,当第一个元素相等时按第二个元素降序排序

In lại 作者:行者123 更新时间:2023-12-05 09:30:47 30 4
mua khóa gpt4 Nike

例如 [[5,6][2,3][2,5][2,9][1,6]]先按第一个元素升序排序,当一个元素相等时,按第二个元素降序排序,得到[1,6],[2,9],[2,5],[2,3] ],[5,6]

1 Câu trả lời

您可以将 sort_by_key() 与一个键函数一起使用,该函数返回第一个子元素的元组,后跟包含在 std::cmp::Reverse 中的第二个子元素。反转比较:

v.sort_by_key(|x| (x[0], Reverse(x[1])));

Playground

如果您需要使用比较函数而不是键函数进行排序(例如,由于后者的 limitations when returning references ),可以使用 Ordering::then_with() 很好地表达比较器:

v.sort_by(|a, b| a[0].cmp(&b[0]).then_with(|| b[1].cmp(&a[1])));

关于rust - Vec<>> 按第一个元素升序排序,当第一个元素相等时按第二个元素降序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69325317/

30 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com