首页 > 编程语言 > 详细

算法训练营学习02---冒泡排序与选择排序

时间:2019-06-27 13:19:14      阅读:97      评论:0      收藏:0      [点我收藏+]

冒泡排序:

public static int[] bubbleSort(int[] arr) {
        int t;
        for (int i = 0; i < arr.length; i++) {
            for (int j = arr.length - 1; j > i; j--) {
                if (arr[j] < arr[j - 1]) {
                    t = arr[j];
                    arr[j] = arr[j - 1];
                    arr[j - 1] = t;
                }
            }
        }
        return arr;
    }

核心部分:内层循环j从最后一位向前冒泡

简单优化:如果j在这轮中一次没有冒则证明已经有序,停止算法

选择排序

 public static int[] selectSort(int[] array) {
        for (int i = 0; i < array.length - 1; i++) {
            int min = i;
            for (int j = i + 1; j < array.length; j++) {
                if (array[j] < array[min]) {
                    min = j;
                }
            }
            int temp = array[i];
            array[i] = array[min];
            array[min] = temp;

        }
        return array;
    }

核心部分:每次确定一个最小的下标,与i交换,i慢慢递增

算法训练营学习02---冒泡排序与选择排序

原文:https://www.cnblogs.com/CszShuzi/p/11096376.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!