Python中氣泡排序

2021-07-30 11:42:37 字數 943 閱讀 5734

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...