思想:10个数,升序排列。
从第一个数开始与后一个数比较,然后交换位置,较小值放前面,比较的次数为9,最大值就沉到了最后面一个数。
比较九次之后又从第一个开始比较,比较的次数为a.lengh-i-1(a为数组,i为比较的第几次),第二个大的值到了倒数第二位。
如:3 4 5 1按从大到小排序
第一个轮回
4 3 5 1
4 5 3 1
4 5 3 1
第二个轮回
5 4 3 1
5 4 3 1
第三个轮回
5 4 3 1
public static void main(String args[]){
int a[]={3,4,1,5,8,2,9,10,6,7};
int temp;//作为交换值的变量
for(int i=0;i<a.length-1;i++){//总共比较的次数,同时也代表有多少个值已经排好了序。for(int j=0;j<a.length-i-1;j++){//剩下的需要排序的个数
if(a[j]<a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;//前一个数与后一个数比较大小,根据大小交换值。
}
}
}
//输出
System.out.println(a[i]);
}
}
}