LowB三人组--选择排序原理和实现

选择排序

原理

在这里插入图片描述

  public static void main(String[] args) {
    
    
        int[] arr = {
    
    100,34,29,39,20,79,56};
        selectionSort(arr);
    }

    public static void selectionSort(int[] arr) {
    
    
        //原理: 每次找到无序最小的,然后将最小的和本次无序的首位交换位置
        //外层为找的次数,内层为比较和交换次数,内层:开始索引为i+1,
        //外层循环; 找到的次数
        for (int i = 0; i < arr.length - 1; i++) {
    
    
            int minIndex = i;
            //内存循环: 无序列表中第一个数和其他的数进行比较 进行比较,找到最小的一个的索引,并和第一个数交换位置
            for (int j = i + 1; j < arr.length; j++) {
    
    
                if (arr[minIndex] > arr[j]) {
    
    
                    minIndex = j;
                }
            }
            int tmp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex] = tmp;
            System.out.println(Arrays.toString(arr));
        }
    }

运行结果:
在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/baidu_21349635/article/details/114069879