バブルソート(bubble_sort) - Pythonの実現

#バブルソート
#効果:ソート与えられた変数順序のn個
#入力:任意の配列A
#出力:配列Aの順に配置されています
 
#バブルソート処理
#最初の旅行:最後の桁から始まる参照として最初の番号、それとの比較に続いて、
それは#より大きい場合、スイッチは、次に前方の数を決定未満である場合
#旅を完了した後、このベンチマーク(つまり、最初の数)は、全ての最大の数であります
#第二のトリップ:それと比較し、続いて最後の桁から開始基準として第2の数に、
それは#より大きい場合、スイッチは、次に前方の数を決定未満である場合
#旅行を完了した後、参照番号(すなわち、第二の数)は、第1の最大以外の数であります
#そしてように、逆の順序でアレイを製造する、参照の最後の桁にまで
 
1  この変形初期データは
2 A = [12,56,92、-1,5,110,92,999、-39,21,76,33,56 ]
 。3  
。4  プリント' :初期データ' 5。 印刷(a)は、印刷' \ N- '。* 1)      印刷( '\ N-' * 1)空白行を意味し、出力のみ美的効果から
。6 N- = LEN(A)          N-持つ配列の長さを取得します
。7 I = 0                #の配列インデックスアウターループ
8のJ = 1-N - 。             ループインデックス内のアレイ
9。 
10  つつ I <= 1-N-。 11      ながら!J = I:
 12である         IF [J]> A [I]:
 13である              = TEMP A [I]
 14              A [I]が= [J]
 15              A [J] = TEMP
 16              J = J - 1。
 17。         18は、              J = J - 1
 。19      J = N - 1         #の次のサイクルから最終番号jを開始できるようにリセットJ、
20である      。私は= I + 1        、サイクル後に、i番目が決定されています最大の残りの現在の数
21は、     印刷(a)の
 22が  
23である 印刷' \ N- ' *。1 24  プリント結果バブルソート:#のデータの逆の順序で出力される
25  プリント(A)
 26は 
27()A.reverse          Python関数は、逆来る
28  プリント逆方向データの後に採取し:" 29  印刷(A)

結果:

あなたの初期データ:
[ 12、56、92、-1、5、110、92、999、-39、21、76、33、56 ]
バブルは、結果の並べ替え:
[ 999、110、92、92、76、56、56、33、21、12、5、-1、-39 ]
逆方向データをとった後:
[ -39、-1、5、12、21、33、56、56、76、92、92、110、999]

アルゴリズムは、アレイAの具体的な実施プロセスを変更します。

前記下線の___各パス(各外側ループ)にダウンの数を決定する、ということです

1 [ 999、56、92、-1、5、110、92、76、-39、21、56、33、12 ]
 2 [999、110、92、-1、5、92、76、56、 - 39、21、56、33、12 ]
 3 [999、110、92、-1、5、92、76、56、-39、21、56、33、12 ]
 4 [999、110、92、92、 5、76、56、56、-39、21、33、12、-1 ]
 5 [999、110、92、92、76、56、56、33、-39、21、12、5、-1 ]
 6 [999、110、92、92、76、56、56、33、-39、21、12、5、-1 ]
 7 [999、110、92、92、76、56、56、33、-39 、21、12、5、-1]
 8 [999、110、92、92、76、56、56、33、-39、21、12、5、-1 ]
 9 [999、110、92、92、76、56、56、33、21、12、5、-1、-39 ]
 10 [999、110、92、92、76、56、56、33、21、12、5、-1、-39 ]
 11 [999、110、92、92 、76、56、56、33、21、12、5、-1、-39 ]
 12 [999、110、92、92、76、56、56、33、21、12、5、-1、-39 ]
 13 [999、110、92、92、76、56、56、33、21、12、5、-1、-39 ]

簡単に言えば、バブルソートは、メモリ順次ダウン、プレスを残りの最大数を見つけるための時間です。

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/aiyou-3344520/p/11706313.html