有没有人知道任何公式来查找使用冒号排序的总次数/交换次数 例如,
8,22,7,9,31,19,5,13
我必须按升序排序。我是手动完成的,但想知道公式解决MCQ问题。而不是手动,我如何使用公式来解决它?快捷方式(如果存在)?
答案 0 :(得分:1)
如果给定数据8,22,7,9,31,19,5,13排列在数组
中data[]={8,22,7,9,31,19,5,13}
如果'total'是数组中的数据总数。在这种情况下
total=8
以下是冒泡排序的算法(公式)
for(i=0;i<total;i++){
for(j=i;j<total-1;j++)
if(data[j]<data[i]){
temp=data[j];
data[j]=data[i];
data[i]=temp;
}
}
答案 1 :(得分:0)
您可以使用与数组中的反转次数相等的事实轻松计算掉期数(这是正确的,因为冒泡排序中的每次交换都会将反转次数减少一次)。