gpt4 book ai didi

python - 我如何在选择排序中计算这些比较?

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:42 25 4
gpt4 key购买 nike

这是我的代码

count = 0
def selectionSort(data):


for index in range(len(data)):

min = index
count += 1
# Find the index'th smallest element
for scan in range(index + 1, len(data)):

if (data[scan] < data[min]):

min = scan

if min != index: # swap the elements
data[index], data[min] = data[min], data[index]

return data

data = selectionSort([3,4,5,2,6])


print(count, data)

最佳答案

您的代码不应按原样运行。您应该在赋值前获取引用的局部变量“count”

要解决此问题,请将以下内容添加到 selectionSort(data) 的顶部:

global count

更好的方法是废弃全局变量并返回 count 和排序后的数据:

def selectionSort(data):
count = 0
for index in range(len(data)):
min = index
count += 1
# Find the index'th smallest element
for scan in range(index + 1, len(data)):
if (data[scan] < data[min]):
min = scan
if min != index: # swap the elements
data[index], data[min] = data[min], data[index]
return count, data

count, data = selectionSort([3,4,5,2,6])
print(count, data)

最后但同样重要的是,您计算的不是比较。我将修复它作为读者的练习。

关于python - 我如何在选择排序中计算这些比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19935082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com