排序算法-选择排序(Java)

package com.rao.linkList;

import java.util.Arrays;

/**
 * @author Srao
 * @className SelectSort
 * @date 2019/12/4 11:27
 * @package com.rao.linkList
 * @Description 选择排序
 */
public class SelectSort {
    /**
     * 选择排序
     * @param arr
     */
    public static void selectSort(int[] arr){
        for (int i = 0; i < arr.length-1; i++){
            int min = i;
            for (int j = i; j <= arr.length-1; j++){
                if (arr[j] < arr[min]){
                    min = j;
                }
            }
            int temp = arr[i];
            arr[i] = arr[min];
            arr[min] = temp;
        }
    }

    public static void main(String[] args) {
        int[] arr = new int[]{3,6,2,5,9,1,0,8};
        System.out.println(Arrays.toString(arr));
        selectSort(arr);
        System.out.println(Arrays.toString(arr));

    }
}

首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。

其次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。

以此类推。

猜你喜欢

转载自www.cnblogs.com/rao11/p/11982016.html