105.数组选择排序

Posted 梦想骚年工作室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了105.数组选择排序相关的知识,希望对你有一定的参考价值。

选择排序:用一个索引位置的元素依次和其他索引的元素比较,如果比后面的大就交换位置

int数组{24, 69, 80, 57, 13}

第1次循环

24<69不用换位置

24<80不用换位置

24<57不用换位置

24>13需要换位置,变成了{13, 69, 80, 57, 24}

第1次循环完后最小的就出来了,排在最前

第2次循环就不用考虑13了

69<80不用换位置

69>57需要换位置,变成了{13, 57, 80, 69, 24}

57>24需要换位置,变成了{13, 24, 80, 69, 57}

第1次循环完后最小两个排在前面了

第3次循环,,不用考虑13和24了

80>69需要换位置,变成了{13, 24, 69, 80, 57}

69>57需要换位置,变成了{13, 24, 57, 80, 69}

第4次循环

80>69需要换位置,变成了{13, 24, 57, 69, 80}

4次循环完成后排序完成13, 24, 57, 69, 80

第1次arr[0]分别与arr[1-4]比较,比较4次

第2次arr[1]分别与arr[2-4]比较,比较3次

第3次arr[2]分别与arr[3-4]比较,比较2次

第4次arr[3]与arr[4]比较,比较1次

代码实现:


for (int i = 0; i < arr.length - 1; i++) {

        //在内循环中i是不变的,也就是每次要和其他元素对比的元素,自己不用和自己比,所以j应该等于i+1

            for (int j = i + 1; j < arr.length; j++) {

                if(arr[i] > arr[j]) {

                    int temp = arr[i];

                    arr[i] = arr[j];

                    arr[j] = temp;               

                }

            }

}


以上是关于105.数组选择排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法(冒泡排序,选择排序,插入排序,快速排序)

数组排序之选择排序

排序--选择排序Selection Sort Java实现

20191209-八大排序之选择排序

算法通关手册 刷题笔记2 数组排序之冒泡排序选择排序

数组排序(冒泡排序,选择排序)