首頁(yè)技術(shù)文章正文

如何使用Python實(shí)現(xiàn)冒泡排序?

更新時(shí)間:2021-03-24 來(lái)源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif


python 冒泡排序?qū)崿F(xiàn)方法

def bubble_sort(lists):
   count = len(lists)
   for i in range(0, count):
     for j in range(i + 1, count):
       if lists[i] > lists[j]:
         #判斷后值是否比前置大,如果大就將其交換
         lists[i], lists[j] = lists[j], lists[i]
   return lists
 res=bubble_sort([1,209,31,4,555,6,765,9,5,4,7,89,6,5,34,3,57,96])
 print(res)

python 遞歸排序

def merge_sort(li):
  n = len(li)
  if n == 1:
     return li
  # 把數(shù)據(jù)分成左右兩部分
  mid = n // 2
  left = li[:mid]
  right = li[mid:]
  # 遞歸拆分
  left_res = merge_sort(left)
  right_res = merge_sort(right)
  # 把下層返回上來(lái)的數(shù)據(jù),組成有序序列
  result = merge(left_res, right_res)
  # 合并
  return result
def merge(left, right):
  result = []
  left_index = 0
  right_index = 0
  while left_index < len(left) and right_index < len(right):
     if left[left_index] <= right[right_index]:
       result.append(left[left_index])
       left_index += 1
     else:
       result.append(right[right_index])
       right_index += 1
  # while循環(huán)結(jié)束后,把剩下的數(shù)據(jù)添加進(jìn)來(lái)
  result += right[right_index:]
  result += left[left_index:]
  return result
if __name__ == '__main__':
  list_demo = [6, 5, 7, 4, 3, 1]
  print(merge_sort(list_demo))

python 選擇排序

def select_sort(lists):
   # 選擇排序
   count = len(lists)
   for i in range(0, count):
     min = i
     for j in range(i + 1, count):
       if lists[min] > lists[j]:
         min = j
     lists[min], lists[i] = lists[i], lists[min]
   return lists
 res=select_sort([1,209,31,4,555,6,765,9,5,4,7,89,6,5,34,3,57,96])
 print(res)

猜你喜歡:

python斷言語(yǔ)句的語(yǔ)法【assert語(yǔ)句】

Python中的函數(shù)是什么?

Python語(yǔ)言這么火發(fā)展前景怎么樣呢?

黑馬程序員Python培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!