Pythonクイックソートのコード例

WBOY
リリース: 2016-06-16 08:46:15
オリジナル
1343 人が閲覧しました

1. アルゴリズムの説明:

1.まず、シーケンスから基数として数値を取得します。
2.分割プロセス中、この数値より大きいすべての数値が右側に配置され、この数値以下のすべての数値が左側に配置されます。
3.各間隔に数値が 1 つだけになるまで、左右の間隔に対して 2 番目のステップを繰り返します。

2. Python クイックソートコード

コードをコピー コードは次のとおりです:

#!/usr/bin/python
# -*-コーディング: utf -8 -*-

def sub_sort(array,low,high):
key = array[low]
while low < high:
while low = key:
high -= 1
while low
array[low] = array[high]
low += 1
array[high] = array[low]
array[low] = key
return low


def Quick_sort(array,low,high):
if low < high:
key_index = sub_sort(array,low,high)
Quick_sort(array,low,key_index)
クイックソート(配列,キーインデックス+1,高)


if __name__ == '__main__':
配列 = [8,10,9,6,4,16,5,13,​​26,18,2,45,34,23,1, 7,3]
配列を印刷
Quick_sort(array,0,len(array)-1)
配列を印刷

結果:
[8, 10, 9, 6, 4, 16, 5, 13, 26, 18, 2, 45, 34, 23, 1, 7, 3]
[1, 2 、3、4、5、6、7、8、9、10、13、16、18、23、26、34、45]

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート