python冒泡排序 Python冒泡排序PPT


python冒泡排序 Python冒泡排序PPT

文章插圖
大家好,小跳來為大家解答以上的問題 。Python冒泡排序PPT,python冒泡排序這個很多人還不知道,現在讓我們一起來看看吧!
1、冒泡排序算法的運作如下:1. 比較相鄰的元素 。
2、如果第一個比第二個大,就交換他們兩個 。
3、2. 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對 。
4、這步做完后,最后的元素會是最大的數 。
5、3. 針對所有的元素重復以上的步驟 , 除了最后一個 。
6、4. 持續每次對越來越少的元素重復上面的步驟 , 直到沒有任何一對數字需要比較 。
7、所以可以看出,你代碼僅僅比較了一次相鄰的兩個,而沒有繼續往后比較,輸出的第三行開始出現問題 。
8、至于那個None,因為你定義函數沒有返回值的原因 。
9、我給你三個函數 , 你對比一下:1234567891011121314151617181920212223242526272829303132def list_sort_new(list_in):for j in range(len(list_in)-1, 0 ,-1):for i in range(0, j):if list_in[i]>list_in[i+1]:list_in[i],list_in[i+1] = list_in[i+1],list_in[i]return list_in def list_sort_old(list_in):for j in range(len(list_in)-1, 0 ,-1):for i in range(0, j):if list_in[i]>list_in[i+1]:list_temp = list_in[i]list_in[i] = list_in[i+1]list_in[i+1] = list_tempreturn list_in def list_sort_test(list_in):for j in range(len(list_in)-1, 0 ,-1):for i in range(0, j):if list_in[i]>list_in[i+1]:print "before>> " + str(list_in[i])list_in[i] = list_in[i+1]print "after>> " + str(list_in[i])list_in[i+1] = list_in[i]print "and> " + str(list_in[i+1])return list_inlist_test = [2, 1, 3, 44, 22, 53, 25, 26]print list_testprint "*"*20print(list_sort_test(list_test))其中函數list_sort_new()和list_sort_old()都能實現你的目的,其中list_sort_new()中使用了指派運算,就相當于c語言的i++ 。
10、 list_sort_old()類似于你的想法 , 其中j的for實現了全部比較 , 而倒序減少了不必要的比較 , list_sort_test()告訴了你,為什么需要一個變量來充當緩存 。
11、住好運 。
【python冒泡排序 Python冒泡排序PPT】本文到此分享完畢 , 希望對大家有所幫助 。