【发布时间】:2016-08-29 03:50:27
【问题描述】:
这意味着当我按非递增顺序对 v2 进行排序时,v1 应该如下所示:
向量如下所示。
v1 = {0, 5, 5, 2, 10};
v2 = {0 ,2, 6, 20, 5};
输出:
v1 = {2, 5, 10, 5, 0};
v2 = {20, 6, 5, 2, 0};
我试图解决混合 std::sort 和 lambdas 的问题。
这就是为什么我已经阅读了几个关于std::sort 的问题,没有答案可以解决与我类似的问题,所以这就是我问的原因。
我对包含 C++11 和 C++14 的用法或其他特性的答案特别感兴趣。
不是这样的问题:
“我完全不知道该怎么办。”
我知道如何使用 C++98 实现输出,但我想知道是否有更高效、更漂亮的方法来实现。
非常感谢您的帮助:)
【问题讨论】:
-
你的 C++98 代码是什么样的?
-
你的输出 v2 少了一个元素
-
另外,输出是非递增顺序的,恕我直言。
-
从一对向量转换为一对向量,排序,转换回来。
-
谷歌搜索“C++ argsort”,得到这个答案:stackoverflow.com/questions/1577475/…