【发布时间】:2018-06-28 11:08:22
【问题描述】:
我正在尝试从头开始在 python 中制作一个冒泡排序,你知道它为什么不起作用吗?我的错误列表索引超出范围。
data = [1, 32, 50, 12, 14, 7, 45, 27, 18, 9, 19, 22, 51, 42, 4, 25, 13, 6, 21, 49, 41, 37]
def bubbleSort(alist):
length = len(alist)
for i in range(length):
first = alist[i]
second = alist[i + 1]
if first > second:
a, b = alist.index(first), alist.index(second)
alist[b], alist[a] = alist[a], alist[b]
return data
print(bubbleSort(data))
谢谢, 斯科特
【问题讨论】:
-
无需在该行中调用
alist.index(...。索引是i和i+1,因为您之前使用过它们。index也可能因重复而失败 -
更正
index out of range错误不会使它成为一个有效的冒泡排序程序。您可能想更改标题。
标签: python bubble-sort