java算法排序之选择排序

package 十大排序;

public class 选择排序 {
    
    

    /*
        时间复杂度:O(N^2)
        空间复杂度: O(1)
        稳定性: 不稳定
     */

    public static void main(String[] args) {
    
    

    }


    private static void sort(int [] arr){
    
    
        for (int i = 0,k=0; i <arr.length ; i++,k=i) {
    
    
            //这一层查找的是最小值的下标
            for (int j = i+1; j <arr.length ; j++) {
    
    
                if (arr[k]>arr[j]){
    
    
                    //如果j比k小,那么k=j,记录最小值
                    //把最小值放在最左边
                    k =j;
                }
            }
            //交换
            if (i!=k){
    
    
                int temp =arr[i];
                arr[i] = arr[k];
                arr[k] =temp;
            }
        }
    }

}

猜你喜欢

转载自blog.csdn.net/qq_42794826/article/details/108963961