选择排序算法:
算法图示:
简单说明:
1.首先固定第一个数字,然后比较剩下的数字,找到最小的一个并且比第一个数字小的数与第一个数字交换位置
2.再固定第二个数字,将后面的数字进行比较,选出最小的数字并且比第二个数字小的数与第二个数字互换位置
3.以此类推
代码实现:
class SelectSort{
/**
*选择排序算法
*/
public void sort(int[] array){
for(int i=0;i<array.length-1;i++){
int index = i;//用来记录最小值的索引
for(int j=i+1;j<=array.length-1;j++){
//获取剩余数字的最小值
if(array[j]<array[index]){
index=j;
}
}
//将最小值与相比较的数字位置互换
int temp = array[i];
array[i] = array[index];
array[index] = temp;
}
showArray(array);
}
public void showArray(int[] array){
System.out.println("选择排序的结果是:");
for(int i:array){
System.out.print(i+" ");
}
System.out.println();
}
public static void main(String[] args) {
int[] array = {98,655,63,5558,52,2,7,4,1};
SelectSort selectsort = new SelectSort();
selectsort.sort(array);
}
}