一.基本思想
初始时从队列中选出最大(小)的元素放到序列的起始位置,再从剩余的序列中选出最大(小)的元素放在已排序列的末尾,以此类推,直到所有元素均排序完毕
二.概览
分类:内部选择排序
数据结构:数组
最差时间复杂度:O(n^2)
最优时间复杂度:O(n^2)
平均时间复杂度:O(n^2)
所需辅助空间:O(1)
稳定性:不稳定
三.代码实现
public class Selection{ public static void sort(int a[]){ int N = a.length; for(int i=0;i<N;i++){ int min = i; for(int j=i+1;j<N;j++){ if(a[j]<a[min])min=j; } int t = a[min]; a[min] = a[i]; a[i] = t; } } }