排序算法系列再次练习总结之:选择

import java.util.Arrays;

/**
 * 选择排序:
 * 思想就是找到最小的放在左边位置,如此循环下去
 */
public class XuanZe {

    public static void selectSort(int array[]){

        for (int i=0;i<array.length-1;i++){
            int k=i;
            for (int j=k+1;j<array.length;j++){
                if (array[k]>array[j]){
                    k=j;
                }
            }
            if (i!=k){
                int temp=array[i];
                array[i]=array[k];
                array[k]=temp;
            }
        }
        //内层循环结束之后,找到了本轮循环的最小的数字以后,在进行交换

        System.out.println(Arrays.toString(array));
    }
    public static void main(String[] args) {
        /**
         * 第一次寻找,需要比较n-1次,第二次寻找就需要比较n-2次,第三次寻找就需要比较n-3次,到n-1次寻找时就只剩一个数字,
         */

        int array[]={1,23,4,3,2,6666,55,77,8,9,999,1000,888};
        selectSort(array);
    }
}

截图:

猜你喜欢

转载自blog.csdn.net/qq_35207086/article/details/112969289