Home  >  Article  >  Backend Development  >  Bubble sorting python implementation

Bubble sorting python implementation

巴扎黑
巴扎黑Original
2016-12-07 11:00:031565browse

Start learning python. The format is all cloudy, so you can directly learn the algorithm of data structure. After all, reading code is the fastest way to learn

1 Accept the input py code, and import this file for the input of the subsequent algorithm

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

Bubble sorting: (This implementation bubbles from the end forward, you can choose whether to make larger bubbles or smaller bubbles bubbles)

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


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn