バブルソート(バブルソート、台湾からの翻訳:バブルソートまたはバブルソート)は、単純な並べ替えアルゴリズムです。ソート対象のシーケンスを繰り返し調べて、一度に 2 つの要素を比較し、順序が間違っている場合はそれらを交換します。配列を訪問する作業は、それ以上の交換が必要なくなるまで繰り返されます。これは、配列がソートされたことを意味します。このアルゴリズムの名前は、小さな要素が交換によって配列の先頭にゆっくりと「浮遊」するという事実に由来しています。バブルソートアルゴリズムの動作は次のとおりです:
1. 隣接する要素を比較します。最初のものが 2 番目のものより大きい場合は、両方を交換します。
2. 隣接する要素の各ペアに対して、最初の最初のペアから最後の最後のペアまで、同じ作業を実行します。この時点では、最後の要素が最大の数値である必要があります。
3. 最後の要素を除くすべての要素に対して上記の手順を繰り返します。
4. 比較する数値のペアがなくなるまで、要素の数を減らしながら上記の手順を繰り返します。
コード:
#!/usr/bin/env python #-*-encoding:utf-8 #BubbleSort def bubble_sort(param): p_len = len(param) for i in range(p_len): for j in range(i+1,p_len)[::-1]: if param[j] < param[j-1]: param[j],param[j-1]=param[j-1],param[j] return param def main(): param = [1,2,3,5,7,6,4] print bubble_sort(param) if __name__=="__main__": main()