python - 使用 Python 使用指针进行冒泡排序
问题描述
该代码不适用于某些测试用例。
def bubbleSort(array):
l = 0
r = 1
isSorted = False
while not isSorted:
isSorted = True
while r <= len(array)-1:
if array[r] < array[l]:
swap(l, r, array)
isSorted = False
l += 1
r += 1
return array
def swap(i, j, array):
array[i], array[j] = array[j], array[i]
return
谁能帮我解决这个问题??
解决方案
r = 1
您需要重新初始化 r和l 回到l = 0
内部while not isSorted:
。否则你只会运行一次完整的循环,因为在第一次迭代结束时, r 已经在len(array)
推荐阅读
- php - 如何隐藏身份证号码并在网址中仅保留姓名
- javascript - 在 for 循环中承诺在闭包中访问正确的值
- .net - .NET 标准消息是否与用于通用消息发送的 .NET Framework BrokeredMessages 有效不兼容?
- java - java.lang.NullPointerException: 来自 InputStreamReader 的 lock == null
- java - 即使没有错误,Webview 也不显示
- r - R dplyr 如何通过保留特定记录中的信息来汇总信息
- javascript - 无法选择任何 Redux 存储对象属性
- javascript - 如何将 JavaScript 函数添加到 Pug 模板
- json - 无法通过 perl DBI 从 MariaDB 获取返回值
- r - 用 ggplot 为许多变量按组绘制优势比