如何在Python中执行气泡排序
问题:您得到了一个大小为N的数组A。您需要使用冒泡排序按非降序对该数组进行排序。但是,您不需要打印已排序的数组。您只需要打印使用气泡排序对该数组进行排序所需的交换数 输入格式 第一行由一个表示数组大小的整数N组成。下一行包含N个表示数组元素的空格分隔整数 输出格式在一行中打印所需答案如何在Python中执行气泡排序,python,algorithm,sorting,Python,Algorithm,Sorting,问题:您得到了一个大小为N的数组A。您需要使用冒泡排序按非降序对该数组进行排序。但是,您不需要打印已排序的数组。您只需要打印使用气泡排序对该数组进行排序所需的交换数 输入格式 第一行由一个表示数组大小的整数N组成。下一行包含N个表示数组元素的空格分隔整数 输出格式在一行中打印所需答案 约束1代码中的问题是返回的是交换变量,而不是数组。 您的元素交换不完整。在python中,您可以使用这个符号a,b=b,a轻松地交换两个元素 还有一件事您不需要返回数组更改,它将自动反映在原始数组中 试试这个: d
约束1代码中的问题是返回的是交换变量,而不是数组。 您的元素交换不完整。在python中,您可以使用这个符号a,b=b,a轻松地交换两个元素 还有一件事您不需要返回数组更改,它将自动反映在原始数组中 试试这个:
def bubbleSort(arr, n):
swap = 0
for i in range(n - 1):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
swap += 1
return swap
a = [5, 2, 3, 1, 4]
print('swaps =',bubbleSort(a, 5))
print(a)
输出:
请出示证件。此函数必须返回一个数字。你打印出来了吗?我正试图用一个函数来解决这个问题。在我理解了实现之后,我可以使用输入函数轻松地完成它。@WannaBeBayesian您希望从返回中得到什么
def bubbleSort(arr, n):
swap = 0
for i in range(n - 1):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
swap += 1
return swap
a = [5, 2, 3, 1, 4]
print('swaps =',bubbleSort(a, 5))
print(a)
swaps = 6
[1, 2, 3, 4, 5]