1. 程式人生 > >python 冒泡排序

python 冒泡排序

/usr 定義 import 一個數 append 技術分享 image () cnblogs

冒泡排序:

技術分享圖片

有一組待排序的數,我們在這裏將這組數按照從小到大的順序排列起來。
將第一個數(40)與第二個數(20)比較,40 > 20, 交換位置。第二個數(40)與第三個數(30)比較,40 >30,交換位置。第三個數(40)與第四個數(10)比較,40 >10,交換位置。將第四個數(40)與第五個數(50)比較,40 <50,不動。就這樣,最上面的數就成了最大的數,我們接下來只需要對下面的四個數排序就可以了。

#!/usr/bin/env python
import random

def bubble_sort(data):
  length = len(data)
  for i in range(len(data) - 1):#冒泡n-1次
   for j in range(len(data)-i - 1):#比較次數n-i-1
    if (data[j] > data[j + 1]):#從小到大
        tmp = data[j]
        data[j] = data[j + 1]
        data[j + 1] = tmp
r = random.Random()
#定義空列表,並追加數值
data = []
for n in range(0, 10):
  data.append(r.randint(1, 20))
print("初始為:")
print(data)
print("冒泡排序後:")
bubble_sort(data)
print(data)

python 冒泡排序