バブルソートPythonの実装

巴扎黑
リリース: 2016-12-07 11:00:03
オリジナル
1631 人が閲覧しました

Pythonの学習を始めましょう。形式はすべて曇っているため、データ構造のアルゴリズムを直接学ぶことができます。結局のところ、コードを読むことが最も早い学習方法です

1 入力 py コードを受け入れ、後続のアルゴリズムの入力としてこのファイルをインポートします

#!/usr/bin/env python
#coding=utf-8
# stdinInput.py
intsortArrays=[]
def stdinInput():
    sortArray=raw_input("please input num array that you want sort(use , to split every num) :")
    sortArrays=sortArray.split(',')
    for num in sortArrays:
        intnum=-1
        try:
            intnum=int(num)
        except:
            print "input num array error, error element was given an default value -1"
        intsortArrays.append(intnum)
ログイン後にコピー

バブル ソート: (この実装は最後から順にバブルします。より大きな泡、またはより小さな泡を作ります)

#!/usr/bin/env python
#coding=utf-8
#BubbleSort.py
#user can choose sort style: desc(1) or asc(2)
import sys
import stdinInput
def bubblesort(sortarray,style):
    sortarraylen=len(sortarray)
    whileNum=0
    if style==1:
        while whileNum < sortarraylen-1:
            for num in xrange(sortarraylen-1,whileNum,-1):
                if sortarray[num-1]<sortarray[num]:
                    sortarray[num-1],sortarray[num]=sortarray[num],sortarray[num-1]
            whileNum=whileNum+1
    else:
        while whileNum < sortarraylen-1:
            for num in xrange(sortarraylen-1,whileNum,-1):
                if sortarray[num-1]>sortarray[num]:
                    sortarray[num-1],sortarray[num]=sortarray[num],sortarray[num-1]
            whileNum=whileNum+1
if __name__==&#39;__main__&#39;:
    style=1
    try:
        style=int(sys.argv[1]) 
    except:
        print "input argv error, use default desc sort"
    stdinInput.stdinInput()
    bubblesort(stdinInput.intsortArrays,style)
    print stdinInput.intsortArrays
ログイン後にコピー


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