[英]Python: List index out of range on Bubble Sort
I'm making Bubble Sort in Python, but for a reason I don't know of yet, a "List index out of range" error happens when and only when I run the code, with line 6 (if array[n] > array[n+1]:) causing the error.我正在 Python 中进行冒泡排序,但由于我还不知道的原因,当且仅当我运行代码时,才会发生“列表索引超出范围”错误,第 6 行(如果数组 [n] > array[n+1]:) 导致错误。
Here's the code:这是代码:
n = 1
b = len(array)
while b > 1:
while n < b:
if array[n] > array[n+1]:
array[n], array[n+1] = array[n+1], array[n]
n += 1
b -= 1
n = 1
return print(array)
array = [5,4,3,2,1]
bubblesort(array)```
Working code with minimum changes:更改最少的工作代码:
def bubblesort(array):
n = 0 # Updated
b = len(array) - 1 # Updated
while b > 0: # Updated
while n < b:
if array[n] > array[n+1]:
array[n], array[n+1] = array[n+1], array[n]
n += 1
b -= 1
n = 0 # Updated
print(array) # Updated
array = [5,4,3,2,1]
bubblesort(array)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.