算法第一天:选择排序

x33g5p2x  于2022-05-18 转载在 其他  
字(0.8k)|赞(0)|评价(0)|浏览(331)

选择排序:

选择排序就相当于是不断地寻找最小的元素,然后放到

package 排序.选择排序;

public class SelectTionSort {

    /**
     * 先想边界条件
     * @param arr
     */
    public  static  void  selectSort(int[] arr){
        if (arr==null || arr.length <2){
            return;
        }
        int N = arr.length;
        // 0~n-1
        // 1~n-1
        // 2~n-1
        for (int i = 0; i < N; i++) {
            int minValueIndex = i;
            for (int j = i+1; j <N; j++) {
                minValueIndex = arr[j] < arr[minValueIndex] ? j: minValueIndex;

            }
            change(arr,i,minValueIndex);
        }
    }

    public  static  void change(int[] arr,int i,int j){
        int tmp = arr[j];
        arr[j] = arr[i];
        arr[i] = tmp;
    }

    public  static void printArray(int[] arr){
        for (int i = 0; i <arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
    }



    public static void main(String[] args) {
        int arr[] = {7,1,3,5,1,6,8,1,3,5,7,5,6};
        System.out.println("排序前");
        printArray(arr);
        selectSort(arr);
        System.out.println("\n");
        System.out.println("排序后");
        printArray(arr);

    }

}

相关文章