Pythonでバブルソート関数はどのように書きますか
以下はPythonで実装されたバブルソートです。
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n-1):
# 最后 i 个元素已经排好序了
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 = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("排好序的数组:")
for i in range(len(arr)):
print(arr[i])
バブルソートアルゴリズムを利用して、この関数は、引数の配列をソートする。アルゴリズムの考え方は、配列を何回も調べて、隣接する 2 つの要素を比較し、1 つ目が 2 つ目より大きかったら、交換するものである。何回も調べていると、最大の要素が徐々に配列の末尾に「浮き上がって」、配列のソートが行われる。