首頁  >  文章  >  後端開發  >  冒泡排序python實現

冒泡排序python實現

巴扎黑
巴扎黑原創
2016-12-07 11:00:031565瀏覽

開始學習python,格式神馬的都是浮雲,直接上資料結構的演算法。畢竟讀代碼學習最快

1 接受輸入的py代碼,以後的算法的輸入import這個文件

#!/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


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn