廖雪峰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+左键,快速查看源码
  • 对数组进行排序,会修改数组本身。
posted on 2019-01-11 09:33  singleSpace  阅读(190)  评论(0编辑  收藏  举报