達成するためのPythonのバブルソート

代码:
リスト= [3,51,4,8,0,2,47]
N = LEN(リスト)
の範囲内のiについて(0、N-1)
の範囲内のjについて(0、N-1-I) :
もしリスト[J]>リスト[J + 1]:
ARRY =リスト[J + 1]
リスト[J + 1] =リスト[J]
リスト[J] = ARRYの
プリント(リスト)
结果:
[0、2、 3、4、8、47、51]
代码:
ランダムインポートrandrange、シャッフルから           
バブルソート(DEF):
配列= []
一方LEN(アレイ)<12:
array.append(randrange(-99,101,3))
シャッフル(アレイ)
プリント( "排序前的数组:{}" .format(配列))
私の範囲内(12)のための
範囲内のjに対して(0,12-1-I):
もし配列[J]>配列[J + 1]:
BUF =配列[J + 1]
配列[J + 1] =配列[j]は
配列[J] = BUF
プリント( "排序后的数组:{}"形式(配列))
バブルソート()
结果:

アレイをソートする前に、[ - 54、0、-24、-24、-18、33、90、-36、93、21、-90、-48]
ソート配列:[ - 90、-54、 - 48、-36、-24、-24、-18、0、21、33、90、93]

コード:

DEFバブルソート(ARR、オーデル):
最大= LEN(ARR)
の範囲内のiについて(0、MAX):
J = 1つの
一方(J <MAX-I):
IF((ARR [J-1]> ARR [J]そしてINT(オーデル)> 0)又は(ARR [J-1] <ARR [J]とINT(オーデル)<0))
、[J-1] ARR [J] = ARR [J] ARR、[ARR J-1]
J + = 1
、I + = 1
戻りのARR
A = [64、25、12、22、11]
プリント(バブルソート(A、-1))
プリント(バブルソート(A、1))
结果。

[64、25、22、12、11]
[11、12、22、25、64]

おすすめ

転載: www.cnblogs.com/sunflowers-lanqijiu/p/11671330.html