不同语言的sort()比较器对比

前提

以下ret为数组

JAVA

Arrays.sort(ret,new Comparator<int[]>(){
      public int compare(int[] a,int[] b){
            return Math.abs(a[0] - r0) + Math.abs(a[1] - c0) < Math.abs(b[0] - r0) + Math.abs(b[1] - c0); 
      }
});

C++

sort(ret.begin(),ret.end(),[=](vector<int>& a,vector<int>& b){
      return abs(a[0] - r0) + abs(a[1] - c0) < abs(b[0] - r0) + abs(b[1] - c0);
});
  • 这里的[=]是值传递,有时候也可以为引用传递[&]。

原题

posted @ 2020-11-17 21:10  acchris  阅读(121)  评论(0)    收藏  举报