//不稳定//选择排序
/*
选择排序算法的思路:
(1)将序列分成有序区和无序区两部分,初始时有序区为空,无序区包括全部元素。
(2)每次从无序区中选择最小的元素将其与无序区第一个元素进行交换。
(3)重复步骤(2),直到无序区没有元素。
*/
package kill;
import java.util.Arrays;
public class TestDemo8 {
public static void main(String[] args) {
int [] array={23,1,32,87,57,33,19,7,13};
selectSort(array);
System.out.println(Arrays.toString(array));
// TODO Auto-generated method stub
}
public static void selectSort(int []array){
int minIndex=0;//保存最小元素的下标
int tmp;
//遍历有序区的元素
for(int i=0;i<array.length;i++){
minIndex=i;
//查找最小元素在数组的下标
for(int j = i + 1;j < array.length;j++){
//
if(array[minIndex]>array[j]){
minIndex=j;//保存最小数的下标最小数的
}
}
//把最小的数放在第i位
tmp=array[i];
array[i]=array[minIndex];
array[minIndex]=tmp;
}
}
}