/*
选择排序:
3 1 6 2 5
算法:找出最小值,然后这个最小值和最前面的数据交换位置。
*/
public class SelectSort{
public static void main(String[] args){
int[] a = {3 ,1 ,6 ,2 ,5};
//选择排序
for(int i=0;i<a.length-1;i++){
//假设第一个数据是最小值
//记录最小值元素的下标
int min = i;
for(int j=i+1;j<a.length;j++){
if(a[min]>a[j]){
//给min重新赋值
min = j;
}
}
//考虑交换位置.
if(min != i){
int temp;
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
//输出
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
//第二种
for (int i = 0; i < a.length-1; i++) {
for (int j = i+1; j < a.length; j++) {
if(a[i]>a[j]){
int temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
/*
3 1 6 2 5
第一次循环:
1 3 6 2 5
3 6 2 5
第二次循环:
2 6 3 5
6 3 5
第三次循环:
3 6 5
6 5
第四次循环:
5 6
*/
网友评论