冒泡排序:
冒泡排序算法的運作如下:(從後往前)
比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
針對所有的元素重複以上的步驟,除了最後一個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
#
簡單選擇排序
簡單選擇排序算法原理:每次從左至右掃描序列,記下最小值的位置。
1、先比較a[0]與a[1到lens-1]的值比較,如果a[0]最小位置不變,如果a[i]最小,則和a[0]交換位置
2、然後比較a[1]與a[2到lens-1]的值比較,最小值放在下標爲1的位置上
#code:utf-8
import sys
if __name__=="__main__":
def bubble(myList):
smp=0
for i in xrange(1,len(myList)):
for j in xrange(len(myList)-1):
if(myList[j]>myList[j+1]): #相鄰兩個數比較,大的放後面,小的放前面
smp=myList[j+1]
myList[j+1]=myList[j]
myList[j]=smp
return myList
inputVal=list(map(int,sys.stdin.readline().strip().split())) #3 1 9 2 7 4 5 8 6 0
print inputVal
resList=bubble(inputVal)
print (u'冒泡排序:'+' '.join(map(str,resList)))
def simpleSelect(myList,lens):
min,stp=0,0
for i in xrange(lens-1):
min=i
for j in xrange(i,lens):
if(myList[j]<myList[min]):
min=j
if(min!=i): ##表示myList[i]不是最小的值 myList[min]是最小的值,
stp=myList[min]
myList[min]=myList[i]
myList[i]=stp
return myList
reList=simpleSelect(inputVal,len(inputVal))
print (u'簡單排序:'+' '.join(map(str,reList)))
結果下下圖所示: