算法学习笔记之选择排序算法

算法学习笔记之选择排序算法

选择排序算法原理

  1. 首先找到数组中最小的元素
  2. 其次将最小的元素和数组中第一个元素进行交换
  3. 再次,在剩下的元素中找到最小元素,将它与数组中第二个元素进行交换。如此反复,直到将整个数组排序。

选择排序算法 Java 实现

package top.simba1949;

/**
 * 选择排序算法——简单选择排序算法
 *
 * 简单选择排序算法原理
 *     1. 首先找到数组中最小的元素
 *     2. 其次将最小的元素和数组中第一个元素进行交换
 *     3. 再次,在剩下的元素中找到最小元素,将它与数组中第二个元素进行交换。如此反复,直到将整个数组排序。
 *
 * @author SIMBA1949
 * @date 2019/6/29 7:41
 */
public class SelectSort {
    public static void main(String[] args) {
        int[] intArr = {1, 9, 90, 20, 30, 66, 34, 55};
        selectSortImpl(intArr);
        for (int i : intArr) {
            System.out.print(i + "\t");
        }
    }

    public static void selectSortImpl(int[] arr){
        // 健壮性判断
        if (null == arr || arr.length < 2){
            return;
        }
        // 控制范围
        for (int minIndex = 0; minIndex < arr.length - 1; minIndex++) {
            for (int i = minIndex + 1; i < arr.length; i++){
                // 如果 minIndex 位置上的数不是最小的数,数据交换
                if (arr[minIndex] > arr[i]){
                    int temp = arr[minIndex];
                    arr[minIndex] = arr[i];
                    arr[i] = temp;
                }
            }
        }
    }
}

你可能感兴趣的:(数据结构与算法)