中易网

具有12个记录的序列,采用冒泡排序,最少的比较次数是()?

答案:1  悬赏:0  
解决时间 2021-01-12 01:42
  • 提问者网友:却不属于对方
  • 2021-01-11 15:27
具有12个记录的序列,采用冒泡排序,最少的比较次数是()?
最佳答案
  • 二级知识专家网友:一秋
  • 2021-01-11 16:52
当然是11了,题目问的是最少次数,此时如果12个记录是有序的,则进行11次比较就结束了。
当然你说66的话,也可以和出题的人犟:理由,采用没有经过改进的冒泡确实是66次。
11次:在算法中增加了一个boolean flag来表示每一趟是否发生过交换,这样一来有序的序列在第一趟的排序没有交换过,则不用进行第二趟,因此只比较11次。

哦,可能我叙述的不清楚,我把代码给你,就应该清楚了.
int[] a=new int[]{1,2,3,4};
boolean flag=false;
for(int i=0;i if(flag==false&&i>0){
break;
}
for(int j=i+1;jif(a[i] int tmp=a[i];
a[i]=a[j];
a[j]=tmp;
flag=true;
}
}
}
在第一遍比较时,没有发生交换,则flag仍然为false,则第二遍不进行比较了,因此为11次.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息