美文网首页
Java基础02 选择排序

Java基础02 选择排序

作者: 小心陨石 | 来源:发表于2017-02-28 20:59 被阅读0次

    选择排序

    选择排序和冒泡排序差不多,只不过它是每一次是固定位与其他位置进行比较交换,本文采用的是升序排列。
    下面来看一下选择排序的代码:

      int[] arr1 = {5, 3, 2, 6, 1};
        for (int i = 0; i < arr1.length - 1; i++) {
            for (int j = i + 1; j < arr1.length; j++) {
                if (arr1[i] > arr1[j]) {
                    int temp = arr1[i];
                    arr1[i] = arr1[j];
                    arr1[j] = temp;
                }
            }
        }
    

    由if里的循环条件可以看出:外循环执行一次的时候,arr1[0]依次与后面的元素相比较,将小的数放在arr1[0]的位置,所以外循环执行了第一次的时候,找到了这组数的最小值,然后是arr1[1]与后面的元素进行比较,最后执行的是arr[3]与arr[4]的比较,比较出最后两个数字的大小,不用再执行第五次,所以外循环的判定条件为arr1.length - 1,而内循环每次都要比较到最后一位,所以判定条件为arr1.length,因为第一次是进行arr1[0]与arr[1]的比较,且,每次找到的最小数不再参与比较,所以j 的初始值为i + 1 。

    相关文章

      网友评论

          本文标题:Java基础02 选择排序

          本文链接:https://www.haomeiwen.com/subject/lokfgttx.html