zoukankan      html  css  js  c++  java
  • 廖雪峰Java1-4数组操作-2数组排序

    冒泡排序法

    将第一个值和后面的值,挨个比较,如果手里的值比序列的值小,就交换数据,拿新的数字继续比较,直到最后。
    再将第二个值和后面的值,挨个比较。
    循环往复,排序完成。

    int[] ns = {28, 12, 89, 73, 65, 18, 96, 50, 8, 36};
            for (int i = 0;i < ns.length;i++){
                for(int j = i+1;j < ns.length;j++){
                    if (ns[i] > ns[j]){
                        //交换ns[i]和ns[j]
                        int tmp = ns[j];
                        ns[j] = ns[i];
                        ns[i] = tmp;
                    }
                }
            }
            System.out.println(Arrays.toString(ns));
    

    使用jdk的Arrays.sort()直接排序

    sort对大数组进行快速排序,对小数组仍使用冒泡排序

    int[] ns = {28, 12, 89, 73, 65, 18, 96, 50, 8, 36};
            Arrays.sort(ns);
            System.out.println(Arrays.toString(ns));
    

    查看源码

    使用command+鼠标左击,即可查看源码。
    如果没有jdk源码,只要将Attach Source——External Location添加jdk源码即可。
    windows:在jdk的根目录下
    Mac:jdk1.8.0_131.jdk/Contents/Home/下

    总结

    • 常用的排序算法:冒泡排序、比较排序、快速排序
    • 冒泡排序使用两层for循环实现
    • 交换两个变量的值需要通过一个临时变量
    • 可以直接使用jdk的Arrays.sort()排序
    • ctrl+左键/command+左键,快速查看源码
    • 对数组进行排序,会修改数组本身。
  • 相关阅读:
    测试如何发挥更大的价值?聊聊测试左移和右移
    Cocos Creator性能调优
    跨域问题产生的原因和解决方法
    tornado部署
    tonado
    MySQL binlog
    grpc
    nextjs中的懒加载
    前端低代码-少写代码实现灵活需求
    MySQL中的锁
  • 原文地址:https://www.cnblogs.com/csj2018/p/10253573.html
Copyright © 2011-2022 走看看