选择排序:每次循环都比较元素内容,记录较小元素的下标,但是不进行交换 ;循环之后再判断是否需要进行交换
与冒泡排序不同,冒泡排序每次比较,一旦满足条件就进行元素内容交换
冒泡排序链接:https://blog.csdn.net/xindanding/article/details/91797945
1.实现与测试
public class SelectSort {
public static void main(String[] args){
int[] a = {3,4,6,1,2,9,8,0,5,7};
System.out.println(Arrays.toString(selectSort(a)));
}
/**
* 选择排序 首先元素进行比较 但不进行交换
* 循环之后在进行交换 每次循环只交换一次
* @param array
* @return
*/
private static int[] selectSort(int[] array){
for(int i= 0; i < array.length; i++){
int min = i;
for(int j = i+1; j < array.length; j++){
if(array[j] < array[min]){
min = j;
}
}
if(i != min){
int temp = array[i];
array[i] = array[min];
array[min] = temp;
}
}
return array;
}
}
2.结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]