本篇主要講的是冒泡排序算法基本原理吟税。希望感興趣的小伙伴可以堅(jiān)持看下去同時(shí)歡迎提出寶貴的意見讓我們一起進(jìn)步访递!
#01:排序的不同方法
隨機(jī)一個(gè)列表進(jìn)行派排序:list=[3,5,1,8]
1)升序:list.sort()
2)倒敘:①list[::-1]②list.sort(reverse=False)③list.reverse()
#02:冒泡排序算法原理
1)原理:冒泡排序其實(shí)就是遍歷數(shù)據(jù),每次只與下一個(gè)數(shù)字比較,如果這兩個(gè)數(shù)順序不對(duì)則與交換過來(lái)。
冒泡排序2個(gè)循環(huán)注意點(diǎn):
① 第一個(gè)循環(huán)是循環(huán)次數(shù),多少個(gè)元素就循環(huán)length-1次,不是數(shù)組的下標(biāo)
②第二個(gè)循環(huán)才是真正的數(shù)組下標(biāo) :循環(huán)length-i-1次??
#03:冒泡排序算法流程
將list = [8,2,6,0]進(jìn)行排序
(1)找出第一個(gè)最大值流程:比較三次,得到1個(gè)最大值8往右移
①[8, 2, 6, 0]→相鄰元素對(duì)比:8和2醉箕,大的往后移→得出[2, 8, 6, 0]
②[2, 8, 6, 0]→相鄰元素對(duì)比:8和6犬性,大的往后移→得出[2, 6, 8, 0]
③[2, 6, 8, 0]→相鄰元素對(duì)比:8和0隶债,大的往后移→得出[2, 6, 0, 8]
(2)找出第二個(gè)最大值流程:比較2次,得到1個(gè)最大值6往右移
①[2, 6, 0,8]→相鄰元素對(duì)比:2和6力惯,大的往后移→得出[2, 6, 0碗誉,8]
②[2, 6, 0,8]→相鄰元素對(duì)比:6和0父晶,大的往后移→得出[2, 0, 6哮缺,8]
(3)找出第三個(gè)最大值流程:比較1次,得到1個(gè)最大值2往右移
①[2, 0, 6,8]→相鄰元素對(duì)比甲喝,2和0尝苇,大的往后移→得出[0, 2, 6,8]
#04:冒泡排序算法(函數(shù)調(diào)用)