算法思想:每次从待排序的记录中选出关键字最小或最大的元素,顺序放在已排序的有序序列中,直到全部排完。
(1)查找待排序序列中的最小元素,与第一个元素替换。
(2)重复(1)直到为有序序列
时间复杂度 o(n^2),不稳定
//选择排序
public static void xuanze(int _d[]){
int len = _d.length;
for(int i = 0; i < len; i++){
int min = _d[i];
int k = 0;
int j = i+1;
while(j < len){
if(min > _d[j]) {min = _d[j]; k = j;}
j++;
}
if(k != 0){
int tmp;
tmp = _d[i];
_d[i] = _d[k];
_d[k] = tmp;
}
}
}
介绍了一种简单直观的排序算法——选择排序,其核心思想是从待排序序列中依次找出最小(或最大)元素并放入已排序序列的末尾。该算法的时间复杂度为O(n^2),稳定性较差。
6968

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



