【问题标题】:Bubblesort to sort ascending order冒泡排序以升序排序
【发布时间】:2014-10-25 09:27:01
【问题描述】:

有没有人知道使用冒泡排序找到通过总数/交换次数的任何公式 例如

8,22,7,9,31,19,5,13

我必须按升序排序。我是手动完成的,但想知道解决 MCQ 的公式。而不是手动,我怎样才能使用公式来整理它?快捷方式(如果存在)?

【问题讨论】:

  • 没有像数学一样的公式。您使用哪种语言?您可以改为使用库对它们进行排序。
  • 如果我在 MCQ 的...

标签: data-structures bubble-sort


【解决方案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;
      }
     }

【讨论】:

    【解决方案2】:

    您可以使用它等于数组中反转的数量这一事实轻松计算交换的数量(这是真的,因为冒泡排序中的每次交换都会将反转的数量恰好减少一)。

    【讨论】:

    • 我将使用铅笔和纸而不是 IDE
    • @DavProgMania 无论如何,手动计算反转次数比逐步进行冒泡排序要容易得多。
    • 如果你不介意你可以请使用8,22,7,9,31,19,5,13的反转的demo.me工作示例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 2021-05-17
    • 2013-10-09
    • 1970-01-01
    • 2014-06-25
    相关资源
    最近更新 更多