1、对数组进行相邻两位的大小比较,若顺序不对则交换位置
2、对已经排好的则不再考虑
3、例子:位置 1,2,3,4,5,6,7,8,9,10
比较时 1 2 比较
2 3 比较
3 4 比较 。。。
如此 在第一轮比较过后 最后一位是最大的数字
则第二轮比较时就不再需要去比较最后一位 所以里层 j的判断条件为 j<length-i-1
i很明显是代表第几轮比较。
4、代码
/*
-
冒泡排序
-
*/
public class BubbleSort {
public static void main(String[] args) {
int score[]={50,22,67,86,23,45,14,97,77,33,88};
getResult(score);
}public static void getResult(int value[]){
int length=value.length;
for(int i=0;i<length-1;i++){
for(int j=0;j<length-i-1;j++){
if(value[j]>value[j+1]){
int temp=value[j];
value[j]=value[j+1];
value[j+1]=temp;
}
}
}for(int i=0;i<length;i++) System.out.print(value[i]+" ");
}
}
网友评论