1. 程式人生 > >排序算法之選擇排序

排序算法之選擇排序

ret return splay .so args ring 目前 ava rtt

快要過節了,目前先把代碼貼上,後續加上圖示和復雜度信息

package com.jdk8.SortTest;

public class SelectSortTest {
    public static void main(String[] args){
        int[] params = new int[]{1,9,5,2,7,4,3,8};
        System.out.println("排序前的數據為:");
        display(params);
        selectSorted(params);
        System.out.println("排序後的數據為:");
        display(params);
    }

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

    private static void selectSorted(int[] params) {
        if(null == params || params.length < 1){
            return ;
        }
        int min = 0;
        int ref = 0;
        for(int i = 0;i < params.length - 1;i++){
            min =  params[i];
            for(int j = i + 1;j < params.length;j++){
                if(min > params[j]){
                    min = params[j];
                    ref = j;
                }
            }
            min =  params[i];
            params[i] = params[ref];
            params[ref] = min;
        }
        System.out.println();
    }
}

運行結果如下:

排序前的數據為:
 1  9  5  2  7  4  3  8 
排序後的數據為:
 1  2  3  4  5  7  8  9 

排序算法之選擇排序