java实现简单选择排序算法

时间:2021-10-15 11:12:10

第二弹:简单选择排序算法


 简单选择排序算法的思想:同样两个循环嵌套,内循环每一次得到最小值,然后再与当前的 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