选择排序

2020-03-28  本文已影响0人  一花一世界yu
import java.util.Arrays;

public class Selection {
    public static void main(String[] args) {
        // 定义一个数组
        int [] arr = new int []{5,6,8,4,3,7};
        SelectionSort(arr);
    }

    /**
     * @Description选择排序
     * @author caoyu Email:854704047@qq.com
     * @version v1.0
     * @date 2020年3月28日${time}
     */
    public static void SelectionSort(int [] arr) {
        for(int i = 0;i < arr.length - 1;i++){
            int k = i;
            for(int j = k + 1;j < arr.length;j++){
                //将最小的元素的下标赋值给K
                if(arr[k] > arr[j]){
                    k = j;
                }
                }
                //判断是否当前就是最小值,如果是的话就不用再进行替换了
                if(k != i){
                    int temp = arr[i];
                    arr[i] = arr[k];
                    arr[k] = temp;
                }
            }
        //打印输出排序后的数组
        System.out.println(Arrays.toString(arr));
        }
        
        
    }

注意点,记得里面的for循环会不断的比较改变k的值,所以交换数组元素值的步骤应该放在外层循环中来进行。

上一篇下一篇

猜你喜欢

热点阅读