数据结构之排序算法-选择排序

2020-03-15  本文已影响0人  沉淀者

一、简述

从前往后为基准,第一个是第一小,第二个是第二小,

二、解决思路

1.将第一个值看成最小值
2.将第一个值与后面的比较找出最小的值和它的下标
3.交换本次遍历的起始值和最小值
4.继续第二个开始重复这个操作

三、举例

        6,5,3,2,4
        2,5,3,6,4
        2,3,5,6,4
        2,3,4,6,5
        2,3,4,5,6

四、代码思路

外循环多少次
内循环多少次
思考边界点

五、具体代码

class ChooseSortDemo {
    public static void main(String[] args) {
        int[] sorts=new int[]{6,5,3,2,4};
        System.out.print("排序前数组:");
        for (int i:sorts) {
            System.out.print(i);
        }

//        6,5,3,2,4
//        2,5,3,6,4
//        2,3,5,6,4
//        2,3,4,6,5
//        2,3,4,5,6
        for (int i = 0; i < sorts.length-1; i++) {
            int minIndex=i;
            for (int j = i+1; j < sorts.length; j++) {
                if(sorts[minIndex]>sorts[j]){//记录最小数的下标
                    minIndex=j;
                }
            }

            //一轮结束,交换i和minIndex的数值
            int temp=sorts[i];
            sorts[i]=sorts[minIndex];
            sorts[minIndex]=temp;

        }

        System.out.println("");
        System.out.print("排序后数组:");
        for (int i:sorts) {
            System.out.print(i);
        }
    }

}

上一篇 下一篇

猜你喜欢

热点阅读