vlambda博客
学习文章列表

选择排序-Java实现

什么是选择排序?


选择排序是一种从小到大的交换排序方式,是简单常见的一种排序.同时也是算法的入门排序.


选择排序的过程是什么?


1. 图解选择排序




2. 选择排序步骤详解


每次遍历,都将数组中最小的值与第一个值交换位置,依次迭代剩余的元素数组.

  1. N个元素组成的数组

  2. 第1次遍历,将[0,N-1]索引处的N个元素中,最小的值与第1个元素交换位置

  3. 第2次遍历,将[1,N-1]索引处的N-1个元素中,最小的值与第2个元素交换位置

  4. 第3次遍历,将[2,N-1]索引处的N-2个元素中,最小的元素与第3个元素交换位置

    ...

  5. 第N-1次遍历,将[N-2,N-1]索引处的2个元素中,最小的元素与第N个元素交换位置.


如何实现选择排序?

Java实现



输入: [5, 7, 9, 6, 4, 3, 1]

输出:

第1次选择排序: [1, 7, 9, 6, 4, 3, 5]

第2次选择排序: [1, 3, 9, 6, 4, 7, 5]

第3次选择排序: [1, 3, 4, 6, 9, 7, 5]

第4次选择排序: [1, 3, 4, 5, 9, 7, 6]

第5次选择排序: [1, 3, 4, 5, 6, 7, 9]

第6次选择排序: [1, 3, 4, 5, 6, 7, 9]