您的位置:首页 > 其它

简单选择排序

2016-02-28 11:42 211 查看
1.简单选择排序算法的基本思想:通过i-1次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录进行交换。

2.简单选择排序的时间复杂度为O(n^2),虽然和冒泡的时间复杂度相同,但是简单选择排序的性能是略优于冒泡排序的。

3.简单选择排序算法的实现:

/**
* 简单选择排序
* @param arr:待排序的数组
* @return:返回排好序的数组
*/
public int[] simpleSelectSort(int[] arr){
for(int i=0;i<arr.length;i++){
//假设当前的下标为最小值的下标
int min = i;
for(int j=i+1;j<=arr.length-1;j++){
//如果有小于当前最小值的关键字,将此关键字的下标赋值给min
if (arr[min] > arr[j]) {
min = j;
}
}
//如果min不等于i,说明找到了最小值,进行交换
if (i!=min) {
swap(arr,i,min);
}
}
return arr;
}

private void swap(int[] arr, int i, int min) {
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: