原理
算法从最小的下表元素开始,分为有序区和无序区。将相邻的元素进行比较,将较小的或者较大者向上排。每经过一次排序产生一个有序的数,放到有序区中。
外循环经历的次数:i:1~legth-1
内循环次数:j: 0~length-i
直到无序区只有一个元素
第一次取到 0~legth-2
第二次取到 0~length-3
等等,代码结果如图。
package bbmc.com;
import java.util.Arrays;
public class Order {
public static void main(String[] args) {
int[] ages={11,2,41,5,9} ;
int temp =0;
System.out.println(Arrays.toString(ages));
//一共循环次数次数length-1
for (int i=1; i<ages.length;i++){
//每次循环的的次数递减lenth-i
for(int j=0 ;j<ages.length-i;j++){
if(ages[j]<ages[j+1]){
//交换顺序
temp=ages[j];
ages[j]=ages[j+1];
ages[j+1]=temp;
}
}
}
System.out.println(Arrays.toString(ages));
}
}