如何使用冒泡排序但以僅對串列的前 4 對排序的方式實作它?[3, 5, 7, 2, 7, 9, 3, 4, 5, 8]
def bubbleSort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j 1]:
arr[j], arr[j 1] = arr[j 1], arr[j]
arr = [5, 3, 9, 7, 2, 7, 3, 4, 5, 8]
bubbleSort(arr)
for i in range(len(arr)):
print("%d" % arr[i], end=" ")
uj5u.com熱心網友回復:
如果您想在 4 次交換后停止,最簡單的方法可能是計算您完成了多少次,并在達到限制時退出排序;像這樣的東西:
def bubble_sort(arr, max_swaps=-1):
if max_swaps == 0:
return
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j 1]:
arr[j], arr[j 1] = arr[j 1], arr[j]
max_swaps -= 1
if max_swaps == 0:
return
arr = [5, 3, 9, 7, 2, 7, 3, 4, 5, 8]
bubble_sort(arr, 4)
for i in range(len(arr)):
print(arr[i], end=" ")
print()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/462132.html
上一篇:如何按ChronosDateTime欄位對結構向量進行排序?
下一篇:比較兩個陣列的順序
