public class Bubble_2{
public static void main(String args[]){
int score[]={91,89,87,67,100,75,90};
for (int i=0;i<score.length;i++ ){
if (score[i+1]<score[i])
{
int temp=score[i];
score[i]=score[i+1];
score[i+1]=temp;
}

System.out.print("第"+i+"次排序结果:\t");
for (int j=0;j<score.length;j++){
System.out.print(score[j]+"\t");
}
System.out.print("");
}
System.out.print("最终的排列结果为:\t");
for (int i=0;i<score.length;i++){
System.out.print(score[i]+"\t");
}
}}
提问:
里面100这个数字为什么会这样的布局呢?代码要求是相邻的两个数比较后,进行换位,那么100不应该被排到最后才对呀。每次排序的具体执行思路是什么呢,详细的解答,谢谢。

解决方案 »

  1.   

    更改一下:100应该被排到最后才对呀,怎么会拍到中间的一些位置呢
      

  2.   

    我就觉得奇怪 运行了下 结果是这样的
    第0次排序结果: 89 91 87 67 100 75 90
    第1次排序结果: 89 87 91 67 100 75 90
    第2次排序结果: 89 87 67 91 100 75 90
    第3次排序结果: 89 87 67 91 100 75 90
    第4次排序结果: 89 87 67 91 75 100 90
    第5次排序结果: 89 87 67 91 75 90 100
    这个是冒泡排序 但是才排了一轮
      

  3.   

    我刚刚有试了一下结果没变啊
      

  4.   

    谁能修改下,写个正确的,并加上注释啊
      

  5.   

    后一个数都要和先前的数进行比较的,再体会下吧