第一种:public class Start {
public static void main(String[] args) {
int [] a={2 ,4, 6 ,3, 1, 9, 7 ,8};
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if (a[j]<a[i]){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
System.out.println(a[i]);
}
}
}
第一轮排序从第一个与其他数字比较,把最小的排到第一个位置;把第二个数字与其后面的数字比较,比较过后,较小的排在第二个位置。。。。。
第二种:
public class Start {
public static void main(String[] args) {
int [] a={2 ,4, 6 ,3, 1, 9, 7 ,8};
for(int i=0;i<a.length;i++){
int k=i;
for(int j=k+1;j<a.length;j++){
if (a[j]<a[k]){
k=j;
}
}
if(k!=i){
int temp=a[i];
a[i]=a[k];
a[k]=temp;
}
System.out.println(a[i]);
}
}
}
第一轮中,i=0,把较小的数的索引赋值给K,判断k与i的关系若不想等,交换两数位置。依次进行第二轮,第三轮。。。(注:为节约空间,可将K,temp的定义放在函数的外部)