>백엔드 개발 >파이썬 튜토리얼 >버블 정렬 Python 구현

버블 정렬 Python 구현

巴扎黑
巴扎黑원래의
2016-12-07 11:00:031624검색

파이썬을 배우기 시작했는데 형식이 다 헛되다보니 바로 자료구조 알고리즘으로 들어갔습니다. 결국, 코드를 읽는 것이 가장 빨리 배울 수 있습니다

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.