参考文章:
https://www.cnblogs.com/guoyaohua/p/8600214.html 十大经典排序算法最强总结(含JAVA代码实现)
选择排序分析:
| 平均时间复杂度 | 最好情况 | 最坏情况 | 空间复杂度 | 排序方式 | 稳定性 |
| O(n^2) | O(n) | O(n^2) | O(1) | In-place | 不稳定 |
选择排序原理:
选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
选择排序原理图解:

Java 实现代码:
package com.sorting.algorithm;
public class SelectionSort {
// 选择排序算法
public static int[] selectionSort(int[] array){
for(int i=0; i < array.length; i++){
int minIndex = i;
for(int j=i; j < array.length; j++){
if(array[minIndex] > array[j])
minIndex = j;
}
int temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
printArr(array);
}
return array;
}
public static void printArr(int[] array){
for (int i = 0; i < array.length; i++) {
if(i != array.length-1)
System.out.print(array[i] + ",");
else
System.out.println(array[i]);
}
System.out.println();
}
public static void main(String[] args) {
int[] array = { 58,36,70,22,88,64,1,32 };
System.out.println("排序之前:");
printArr(array);
System.out.println("-------------------------------");
System.out.println("排序过程");
selectionSort(array);
System.out.println("-------------------------------");
System.out.println("排序之后:");
printArr(array);
}
}
选择排序算法测试:


本文详细介绍了选择排序的基本原理,通过图解帮助理解其工作方式,并提供了具体的Java代码实现,帮助读者深入掌握这一简单直观的排序算法。
-------- “ Select Sort 选择排序 ”&spm=1001.2101.3001.5002&articleId=90578192&d=1&t=3&u=3bd6cdac15104306b57651cdade7026c)
379

被折叠的 条评论
为什么被折叠?



