【问题标题】:Does this bubble sort work?这种冒泡排序有用吗?
【发布时间】:2018-01-19 08:12:25
【问题描述】:
  1. 要排序的数据:
    • 410
    • 253
    • 330
    • 124
    • 285
  2. 运行以下函数后的结果:

    • 410
    • 330
    • 253
    • 285
    • 124

    函数排序数据()

    i 为整数

    i= numDat.length

    j 作为整数= 0

    温度为整数

    //Bubble Sort
    while(i> 0)
        while(j< i- 1)
            if(numDat[j] < numDat[j+ 1])
                temp= numDat[j+ 1]
                numDat[j+ 1]= numDat[j]
                numDat[j]= temp
            endif
            j= j+ 1
        endwhile
        i= i- 1
    endwhile
    

    结束函数

我现在一直在摸不着头脑,如果有人可以提供帮助,将不胜感激,谢谢。

【问题讨论】:

  • j 必须在每个(内部)循环之前初始化,否则内部循环将只运行一次。
  • 谢谢你们@K3N 这就是问题所在,我觉得很愚蠢,谢谢!
  • 没问题,容易错过
  • @PaulBirkholtz 没关系,我们大多数人都这样做。

标签: bubble-sort


【解决方案1】:

在每次迭代后的冒泡排序中,我们需要将下一次迭代初始化为初始值。

 while(i> 0)
        j = 0
        while(j< i- 1)
            if(numDat[j] < numDat[j+ 1])
                temp= numDat[j+ 1]
                numDat[j+ 1]= numDat[j]
                numDat[j]= temp
            endif
            j= j+ 1
        endwhile
        i= i- 1
    endwhile

【讨论】:

    猜你喜欢
    • 2013-04-04
    • 1970-01-01
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 2021-10-03
    • 1970-01-01
    相关资源
    最近更新 更多