Java基础02 选择排序

选择排序

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

  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 。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容