排序算法

2019-08-25  本文已影响0人  大白乐了
/**
 * 选择排序
 * 定义:
 * 遍历集合元素任一一个,和后面的每个元素比较。取最小的一个值,和当前值交换,这样就得到了一个排好序的集合/数组。
 * 选择排序练习
 * 样例数据
 */
public class SelectionSort {

    public static void main(String[] args) {
        int[] arr = {5, 3, 6, 8, 1, 7, 9, 4, 2};



        for (int i = 0; i < arr.length; i++) {
            int minPos = i;
            for (int j = i; j < arr.length; j++) {
                if (arr[minPos] > arr[j]) {
                    minPos = j;
                }
            }
            // 交换 最小值和 下标为i的值
            swap(arr,i,minPos);
        }

        Arrays.stream(arr).forEach(System.out::println);

//        Arrays.asList(arr).forEach(System.out::println);
    }

    private static void swap(int[] arr, int i, int minPos) {
        int temp = arr[i];
        arr[i] = arr[minPos];
        arr[minPos] = temp;
    }
}
上一篇下一篇

猜你喜欢

热点阅读