python中氣泡排序演算法:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @date : 2017-04-12 12:20:39
# @author : xiaoke
# 氣泡排序
import random
list_data=
# 迴圈10次,往列表中存放10個從0到20的隨機數
for i in range(10):
print(list_data)
# -1的目的是因為自身不用再比較,防止角標越界異常
list_len=len(list_data)-1
forx in range(list_len):
# 氣泡排序的優化
step_over=true
fory in range(list_len-x):
if list_data[y]>list_data[y+1]:
temp=list_data[y]
list_data[y]=list_data[y+1]
list_data[y+1]=temp
print("swap m x=%d,y=%d:%s"
%(x,y,list_data))
step_over=false
else:
print("swap n x=%d,y=%d:%s"
%(x,y,list_data))
# 如果step_over等於true,說明後面的數列,已經排好順序了,不需要再排序了,就跳出
if step_over==true:
print("swap o x=%d,y=%d:%s"
%(x,y,list_data))
break
print(list_data)
python中氣泡排序
氣泡排序 for 變數 in 序列 語句塊range函式的原型為 start,stop,step 起點,終點,步長 引數必須是整數型別使用兩個引數可以建立乙個 start,end 區間內的連續整數的列表,如果指定第三個引數,則建立該區間內的乙個公差為step的等差數列。a 3,6,4,2,11,10...
python中的氣泡排序 Python中的氣泡排序
氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。氣泡排序演...
排序 氣泡排序 Python
依次比較相鄰兩元素的大小,順序與要求的不一致就交換。這樣會把待排序序列中的最大 最小 元素不斷 浮 到最右端,最終完成公升序或降序排列。對序列 2,4,1,3,6,5 按公升序排列 只記錄有交換發生的迴圈 第一次迴圈 2,4,1,3,6,5 2,1,4,3,6,5 2,1,3,4,6,5 2,1,3...