【发布时间】:2017-05-13 16:33:49
【问题描述】:
如何使用冒泡排序但按降序排列列表? 我搜索了其他主题,但找不到答案。 这是我的冒泡排序代码的工作实现:
from timeit import default_timer as timer
import resource
start = timer()
def bubbleSort(alist):
for passnum in range(len(alist)-1,0,-1):
for i in range(passnum):
if alist[i]>alist[i+1]:
temp = alist[i]
alist[i] = alist[i+1]
alist[i+1] = temp
with open('lista.txt', 'r') as f:
long_string = f.readline()
alist = long_string.split(',')
bubbleSort(alist)
f = open("bubble.txt", "w")
print >>f,(alist)
print resource.getrusage(resource.RUSAGE_SELF).ru_maxrss / 1000
end = timer()
print(end - start)
f.close()
【问题讨论】:
-
假设bubbleSort 工作正常,我认为将
if alist[i]>alist[i+1]更改为if alist[i+1] > alist[i]应该工作。 -
你的代码是做什么的?它有效吗?如果不是,你怎么知道?它失败的最小数据量是多少?有任何数据可以使用吗?请参阅How to Ask,尤其是如何创建minimal reproducible example。
标签: python sorting bubble-sort