#coding=utf-8
#氣泡排序
import random
print("氣泡排序")
print("隨機生成乙個列表")
list =
for i in range(8):
num = random.choice(range(100))
print(list)
print("氣泡排序後:")
for i in range(len(list)-1):
for j in range(0+i,len(list)):
if (list[i]>list[j]):
list[i],list[j] = list[j],list[i]
print(list)
#coding=utf-8
#優化版氣泡排序
import random
print("優化版氣泡排序")
print("隨機生成乙個列表")
list =
for i in range(8):
num = random.choice(range(100))
print(list)
print("氣泡排序後:")
length = len(list)
flag = true
while (flag and length>0):
flag = false
for i in range(length-1):
if(list[i]>list[i+1]):
list[i],list[i+1] = list[i+1],list[i]
flag = true
length -= 1
print(list)
最優情況下,優化版的時間複雜度為n ,普通版是n的平方
相同列表下,優化版會比普通版排序的更快些
氣泡排序優化版
優化 因為排序過程中,各元素不斷接近自己的位置如果一趟比較下來沒有進行交換,就說明序列有序,因此要在排序過程中設定乙個標誌flag判斷元素是否進行過交換。從而減少不必要的比較。實現 int arr int t 0 中間變數 boolean flag false 標誌當前迴圈是不是一次也沒進行交換,沒...
氣泡排序 python實現及優化
氣泡排序原理 1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個 否則,位置不變。2.對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。最後的元素應該會是最大的數。3.針對所有的元素重複以上的步驟,除了最後乙個。4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較...
氣泡排序及優化
氣泡排序的基本思路是 每次將相鄰兩個數比較,將小的調到前頭 本例按照從小到大排序 按此規律如果有n個數,則要進行n 1趟比較。在第1趟比較中要進行n 1次兩兩比較,在第 j 趟比較中要進行 n j 次兩兩比較。實現如下 include define n 10 int main for i 0 i n...