第二弹:简单选择排序算法
简单选择排序算法的思想:同样两个循环嵌套,内循环每一次得到最小值,然后再与当前的 i 进行交换,就是先找到当前所有值中的最小值,交换到第一位,然后在剩下的值中再取出最小值,放在第二位......循环下去
public class SimpleSort {
/**
* @param args
*/
static void sort(int a[]){//简单排序开始
int min;
int temp;
for(int i=0;i<a.length;i++){
min = i;
for(int j=i+1;j<a.length;j++){
if(a[min]>a[j]){
min = j;
}
}
if(min!=i){ //如果最小的不是当前的i的话就进行交换
temp = a[min];
a[min] = a[i];
a[i] = temp;
}
}
}
public static void main(String[] args) {
int a[]={1,3,9,4,7,2};
sort(a);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
咱们仔细分析它的过程吧
int a[ ] ={}
每一次for i的循环后,我自己打印了一次,如下结果,可以看出,它每一次都是找到最小的交换到前面。
1 3 9 4 7 2
1 2 9 4 7 3
1 2 3 4 7 9
1 2 3 4 7 9
1 2 3 4 7 9
1 2 3 4 7 9
1 2 3 4 7 9