声明:文中动画转载自https://blog.csdn.net/qq_34374664/article/details/79545940
1.选择排序简介
选择排序(Select Sort)也是一种简单直观的排序算法。它的工作原理很容易理解:初始时在序列中找到最小(大)元素,放到序列的起始位置作为已排序序列;
然后,再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾。以此类推,直到所有元素均排序完毕
2.选择排序动
3.选择排序的Java实现
package com.sort; import java.util.Arrays; /** * 选择排序 * 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置 * 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾 * 重复第二步,直到所有元素均排序完毕 * @author yyx 2019年2月20日 */ public class SelectSort { public static void main(String[] args) { int[] arr = { 4, 2, 3, 6, 5 }; System.out.println(Arrays.toString(arraySort(arr))); } public static int[] arraySort(int[] arr) { for (int m = 0; m < arr.length - 1; m++) { int min = m; for (int n = m + 1; n < arr.length; n++) { if (arr[min] > arr[n]) { min = n; } } if (m != min) { int temp = arr[m]; arr[m] = arr[min]; arr[min] = temp; } System.out.println("第" + m + "趟排序后的数组是" + Arrays.toString(arr)); System.out.println("-----------------"); } return arr; } }
4.选择排序总结
选择排序是不稳定的
选择排序时间复杂度最好情况O(n^2),最坏情况O(n^2),平均复杂度O(n^2)