學習冒泡排序算法

    冒泡排序算法進行的是這樣一個過程:遍歷文件,若是近鄰的兩個元素大小順序不對,就將二者交換,重複這樣的操做指導整個文件排好序。python

    假設咱們都是將文件元素從右移到左的。第一遍中,當遇到最小的元素時,將它與左邊元素逐個交換,直到將最小的元素移到隊列的最左邊。而後第二遍中,將第二小的元素放到隊列左邊第二位中,依次類推。所以,一共須要N遍。冒泡排序其實是一種選擇排序,但須要開銷更多工做將每一個元素放到合適的位置。算法

python代碼實現:spa

#!/usr/bin/env python

def swap(array,i,j):
    temp = array[i]
    array[i] = array[j]
    array[j] = temp

def bubble(array,begin,end):
    if(end > begin >= 0):
        for i in range(end):
            for j in range (end,begin+i,-1):
                if array[j] < array[j-1]:
                    swap(array,j,j-1)
            print array
            print '--------------------'
if __name__=="__main__":
    array = [4,5,1,8,0,3,6]
    bubble(array,0,len(array)-1)
    print array

參考文檔:《算法:C語言實現》code

相關文章
相關標籤/搜索