芙姬情感网
您的当前位置:首页冒泡排序python实现

冒泡排序python实现

来源:芙姬情感网


开始学习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__=='__main__':
 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
显示全文