算法-选择排序

2018/04/05 算法 选择排序 Java
  本文为「原创」内容,如需转载请注明出处!             
本文共 632 字,需 7 分钟阅读
  1. 算法可视化:连接
  2. 时间复杂度,平均:\(O(n^2)\),最好:\(O(n^2)\),最坏:\(O(n^2)\)
  3. 空间复杂度,\(O(1)\)
  4. 是否稳定:不稳定

算法思路

选择排序是一种十分直接的算法,

  1. 选出第 1 小的数放入第 1 个位置
  2. 选出第 2 小的数放入第 2 个位置
  3. 选出第 3 小的数放入第 3 个位置…

实现

/**
 * 选择排序
 *
 * @author ychost
 * @date 2018-4-5
 */
public class SelectSort {
    void sort(int[] array) {
        for (int i = 0; i < array.length; i++) {
            for (int j = i + 1; j < array.length; j++) {
                if (array[j] < array[i]) {
                    swap(array, i, j);
                }
            }
        }

    }


    void swap(int[] array, int i, int j) {
        int tmp = array[i];
        array[i] = array[j];
        array[j] = tmp;
    }

}

搜索

    文章目录