精华内容
下载资源
问答
  • sort方法实现降序

    2021-03-12 17:41:38
    利用Collections的reverseOrder方法: import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String[] args) { Integer[] arr = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5...

    1.

    利用Collections的reverseOrder方法:

    import java.util.Arrays;
    import java.util.Collections;
    
    public class Main {
        public static void main(String[] args) {
            Integer[] arr = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
            Arrays.sort(arr, Collections.reverseOrder());
            for (Integer x : arr) {
                System.out.print(x + " ");
            }
            System.out.println();
        }
    }
    

    2.

    利用Comparator接口复写compare方法:

    import java.util.Arrays;
    import java.util.Comparator;
    
    public class Main {
        public static void main(String[] args) {
            //注意,要想改变默认的排列顺序,不能使用基本类型(int,double, char),而要使用它们对应的类
            Integer[] arr = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
            //定义一个自定义类MyComparator的对象
            Comparator cmp = new MyComparator();
            Arrays.sort(arr, cmp);
            for (int x : arr) {
                System.out.print(x + " ");
            }
        }
    }
    //实现Comparator接口
    class MyComparator implements Comparator<Integer> {
        @Override //作用是检查下面的方法名是不是父类中所有的,也起到注释的作用
        public int compare(Integer a, Integer b) {
            return a > b ? -1 : 1;
        }
    }
    
    展开全文
  • 数组,vector的sort快速降序方法

    千次阅读 2014-04-28 13:25:00
    以前我在CF上看到有人用sort的数组降序方法,快速简单,然后刚才写425A - Sereja and Swaps题的时候又看到别人vector的降序方法,以前学习的时候怎么不知道呢,哈哈……虽然CF没多大建树,不过确实看到好多大神的...

    在sort中因为默认是升序的,所以一般我们需要降序的时候就……了。

    以前我在CF上看到有人用sort的数组降序方法,快速简单,然后刚才写425A - Sereja and Swaps题的时候又看到别人vector的降序方法,以前学习的时候怎么不知道呢,哈哈……虽然CF没多大建树,不过确实看到好多大神的编程方法以及优化方法,实在是很有用啊!

    很多时候不是我们不懂,而是我们不会优化,对系统的函数用得不熟,所以我们的代码才看起来那么冗长,昨天做DIV2的时候C题根本不知道怎么做,没想到刚才看别人代码那么短,顿觉自己太弱了!!!!

    然后看到别人的vector降序方法,所以把以前的sort降序方法一起总结个吧!多用用就不会忘 了……

    int main()
    {
        //数组排序
        int a[]={1,2,5,3,4,9,10,19,56,25,13,11};
        //sort(a,a+12); //降序
        sort(a,a+12,greater<int>()); //升序
        for(int i=0;i<12;i++)
            cout<<a[i]<<' ';
        cout<<endl;
    
        vector<int>v(a,a+12);
        //sort(v.begin(),v.end()); //降序
        sort(v.rbegin(),v.rend()); //升序
        //迭代器中:v.rbegin()=v.end(),v.rend()=v.begin()
        for(int i=0;i<v.size();i++)
            cout<<v[i]<<' ';
        cout<<endl;
        return 0;
    }
    由于:迭代器中:v.rbegin()=v.end(),v.rend()=v.begin(),所以刚才自己萌生了一个想法,然后试了一下:sort ( a + 12 , a); 还有 sort  ( v.end() , v.begin() ); 这都不行,嘿嘿,后面百度了才知道,原来在迭代器中,rbegin()=end() ……又长见识了,这CF做得有意义,哈哈

    展开全文
  • 使用sort()将列表中元素降序排序

    千次阅读 2020-08-22 12:01:25
    定义一个数字列表:x = [9,3,5,8,7],将其排序,我想到了sort,当我print(x.sort())时,打印的是None。原来sort方法没有返回值,写了这么多居然在这里卡了半天。。。 可以这样写: x = [9,3,5,8,7] x.sort() print(x...

    定义一个数字列表:x = [9,3,5,8,7],将其排序,我想到了sort,当我print(x.sort())时,打印的是None。原来sort方法没有返回值,写了这么多居然在这里卡了半天。。。

    可以这样写:

    x = [9,3,5,8,7]
    x.sort()
    print(x)
    #此时打印的就是[3, 5, 7, 8, 9] 
    

    如果要降序排序,有两种方法:
    1.在sort方法里加reverse=True

    python
    x = [9,3,5,8,7]
    x.sort(reverse=True)
    print(x)
    #此时打印的就是[9, 8, 7, 5, 3]
    

    2.使用reversed()对列表进行反转,可以对降序后的列表进行反转

    x = [9,3,5,8,7]
    x.sort()
    y = reversed(x)
    print(list(y))
    #此时打印的就是[9, 8, 7, 5, 3]
    

    但这里要注意的是:
    reversed()返回的是一个迭代器对象,只能进行一次循环遍历,显示一次所包含的值

    源码中有明确说明:

    """ Return a reverse iterator over the values of the given sequence. """
    
    x = [9,3,5,8,7]
    x.sort()
    y = reversed(x)
    # 打印y
    print(y)
    #  <list_reverseiterator object at 0x000001E8D3E85AC8> 迭代器对象的地址
    print(list(y))
    # 若再打印一次
    print(list(y)) 
    # 打印的是[]
    
    展开全文
  • Arrays.sort实现降序排序

    千次阅读 2020-06-26 11:25:05
    在调用Arrays.sort()对数组进行排序时,默认是升序排序的,如果想让数组降序排序,有下面两种方法: 1.Collections的reverseOrder import java.util.*; public class Main { public static void main(String[] ...

    在调用Arrays.sort()对数组进行排序时,默认是升序排序的,如果想让数组降序排序,有下面两种方法:

    1.Collections的reverseOrder

    import java.util.*;
     
    public class Main {
        public static void main(String[] args) {
    //        注意这里是Integer,不是int
            Integer[] arr={9,8,7,6,5,4,3,2,1};
            Arrays.sort(arr,Collections.reverseOrder());
            for(int i:arr){
                System.out.println(i);
            }
        }
    }
    

    2.利用Comparator接口复写compare

    import java.util.*;
     
    public class Main {
        public static void main(String[] args) {
            Integer[] arr={9,8,7,6,5,4,3,2,1};
            Comparator cmp=new CMP();
            Arrays.sort(arr,cmp);
            for(int i:arr){
                System.out.println(i);
            }
        }
    }
    class CMP implements Comparator<Integer>{
        @Override //可以去掉。作用是检查下面的方法名是不是父类中所有的
        public int compare(Integer a,Integer b){
    //        两种都可以,升序排序的话反过来就行
    //        return a-b<0?1:-1;
            return b-a;
        }
    }
    

    注意:如果需要改变默认的排列方式,不能使用基本类型(int,char等)定义变量,而应该用对应的类

    展开全文
  • Java中sort实现降序排序

    万次阅读 2019-03-17 14:07:00
    Java中sort实现降序排序 利用Collections的reverseOrder方法: import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String[] args) { ...
  • sort 函数降序排列

    千次阅读 2019-08-20 22:54:46
    //降序 sort(Array.begin(),Array.end(),less()); //升序 for (int i=0;i();i++) cout [i] ; //注:此程序也需要包含头文件#include <string> 否则此句会报错 system("pause"); return 0; }  
  • collections.sort如何降序

    千次阅读 2020-01-13 14:46:13
    默认排序是升序,但是我们可以给他改成降序: public static void main(String[] args) {  List<String> list = new ArrayList<String>();  list.add("zhangsan");  list.add("lisi");  list.add...
  • (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序.eg: A=[1,5,3],则sort(A)=[1,3,5]A=[1,5,3;2,4,1],则sort(A)=[1,4,1;2,5,3](2)B=sort(A,dim),对数组按指定方向...
  • sort()方法以特定顺序(升序或降序)对给定列表的元素进行排序。sort()方法的语法为:list.sort(key=..., reverse=...)另外,您也可以出于相同的目的使用Python的内置函数sorted()。sorted(list, key=..., reverse=....
  • Arrays.sort()方法默认升序输出 需要实现一下Comparator接口 里面添加一个实现类 自行定义排序规则 Arrays.sort(num,new Comparator<Integer>(){ public int compare(Integer a, Integer b){ return b-a...
  • sort函数降序排序

    千次阅读 2014-06-13 21:24:02
    #include #include #include using namespace std; int cmp(int a, int b ) { if( a > b ) return 1; else return 0; } int a[] = {1,2,3,4}; int main() { sort(a,a + 4,cmp); for(i
  • Java中sort实现降序

    2020-05-05 21:37:55
    //使用Collections.reverseOrder()降序 Arrays.sort(array,Collections.reverseOrder()); for(Integer x:array) { System.out.print(x+" "); } } } 利用Comparator接口复写compare方法: public class ...
  • 详解Sort函数降序排序-c++

    千次阅读 2020-03-20 14:29:44
    c++中的Sort函数默认排序为程序,那么怎么改成降序呢? 自己编写Compare函数 #include <cstdio> #include <iostream> #include <algorithm> using namespace std; bool compare(int a, int b) { ...
  • sort降序

    千次阅读 2018-01-27 08:28:55
    #include #include using namespace std; bool cmp(int x,int y){ return x>y; } int main(){ int i,n,a[105]; scanf("%d",&n); for(i=0;i ...sort(a,a+n,cmp); for(i=0;i  print
  • sort()方法以特定顺序(升序或降序)对给定列表的元素进行排序。sort()方法的语法为:list.sort(key=..., reverse=...)另外,您也可以出于相同的目的使用Python的内置函数sorted()。sorted(list, key=..., reverse=....
  • vue——对象数组 sort降序

    千次阅读 2019-04-07 17:58:25
    // 降序排列 dataDown ( ) { this . data_data . sort ( this . down ( 'data' ) ) } , down ( name ) { return function ( obj1 , obj2 ) { let val1 = obj1 [ name ] let ...
  • # 有列表nums,列表元素有重复且乱序,现需要将列表进行去重将序处理 nums = [1,6,6,7,4,5,1] ...# 用sort列表进行排序,reverse=True为降序设置 n.sort(reverse=True) print(n) # 执行结果:[7, 6, 5, 4, 1] ...
  • 2、将带参数的比较器传入sort()。 var data = [ {name: "Bruce", age: 23, id: 16, score: 80}, {name: "Alice", age: 24, id: 12, score: 90}, {name: "David", age: 21, id: 11, score: 70}, {na
  • Arrays.sort 降序排列

    万次阅读 2019-07-17 16:45:01
    今天一个需求里需要用到降序排列,首先想到了Arrays.sort方法,但是Arrays.sort默认是升序排列, 可以使用一下方式来达到降序的需求。 Arrays.sort(a,Collections.reverseOrder()); 但是存在一个问题,Arrays.sort...
  • python列表的 升降序

    千次阅读 2017-12-15 15:53:03
    题目 给定list=[2,9,6,45,13],使她升序排列 ...list.sort()  print list 答案二  list = [2,9,6,45,13]  a = sorted(list)  print a 思考 第一想法是冒泡排序,一个一个进行比较。  这
  • Arrays的sort方法可以直接对数据进行升序和降序排列。本人小白,前段时间刚学到sort方法时,看到Arrays操作数组只能升序,使用了很多奇怪的办法来进行降序。例如: import java.util.Arrays; public class ...
  • Python 列表 sort() 方法

    2021-01-21 16:47:09
    默认情况下,sort() 方法列表进行升序排序。 您还可以让函数来决定排序标准。 语法:list.sort(reverse=True|False, key=myFunc) 参数 描述 reverse 可选。reverse=True 将对列表进行降序排序。默认是 ...
  • list.sort()方法实现降序,升序。

    千次阅读 2020-07-14 16:10:09
    //升序 listData.sort((o1, o2) -> 1 * o1.getDate("orderDate").compareTo(o2.getDate("orderDate")))...//降序 listData.sort((o1, o2) -> -1 * o1.getDate("orderDate").compareTo(o2.getDate("orderDate")));
  • 1. 编写python程序,要求实现用户键盘输入字符串,对其每个不重复的字符串形成列表,并反向降序输出。 a=input('请输入一个字符串:') b=list(set(a)) //转换成...b.sort(reverse=True) //进行降序排序 print(b) 输出为

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 115,323
精华内容 46,129
关键字:

列表的sort方法降序