氣泡排序的思想: 每次比較兩個相鄰的元素, 如果他們的順序錯誤就把他們交換位置
比如有五個數: 12, 35, 99, 18, 76, 從大到小排序, 對相鄰的兩位進行比較
經過第一趟比較後, 五個數中最小的數已經在最後面了, 接下來只比較前四個數, 依次類推
氣泡排序原理: 每一趟只能將乙個數歸位, 如果有n個數進行排序,只需將n-1個數歸位, 也就是說要進行n-1趟操作(已經歸位的數不用再比較)
#!/usr/bin/env python
#coding:utf-8
defbubblesort(nums):
for i in range(len(nums)-1): #
這個迴圈負責設定氣泡排序進行的次數
for j in range(len(nums)-i-1): #
j為列表下標
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
return
nums
nums = [5,2,45,6,8,2,1]
print bubblesort(nums)
缺點: 氣泡排序解決了桶排序浪費空間的問題, 但是氣泡排序的效率特別低
來自:遞迴排序:
def func(lt=):if len(lt)<=1:
return lt
key = lt[0]
lt_l =
lt_r =
lt_m =
for i in lt:
if i < key:
elif i > key:
else:
lt_l = func(lt_l)
lt_r = func(lt_r)
return lt_l+lt_m+lt_r
lt = [12,34,2,5,8,9,1,6]
print(func(lt))
氣泡排序演算法思想
冒泡思想 就是通過兩兩比較a,b,如果a比b大,就把a的位置跟b交換,接著比下去,直到最大的元素出現在最後的位置。package sort 氣泡排序思想 1 比較最開始相鄰的元素 如果這個元素大就往後移,2 接著比較下一組元素直到該元素到了最後 3 接著重複操作 4 直到元素排好序 public c...
冒泡的思想
氣泡排序的思想 相鄰的兩個數 小 大,大 小 進行排序 我們可以通過乙個例項來看下,冒泡的思想 list1 13,56,78,35 13,56,78,35 56,13,78,35 56,78,13,35 56,78,35,13 78,56,35,13 78,56,35,13 78,56,35,13 ...
氣泡排序基本思想
原理 比較兩個相鄰的元素,將值大的元素交換至右端。每次獲得 最大 的數 思路 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複第一...