冒泡算法实现

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

  • 冒泡算法的原理

比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较

 

算法代码实现一:

#冒泡排序算法1

def sortNum(numlist):

    _numlen = len(numlist)

    for _num1 in xrange(_numlen - 1,0,-1):

        for _num2 in xrange(_num1 - 1,-1,-1):

            if numlist[_num1] < numlist[_num2]:

                (numlist[_num1],numlist[_num2]) = (numlist[_num2],numlist[_num1])

 

if __name__ == '__main__':

    a = [1,4,-12,100,3,9,7,87,7,6,12,]

 

    print "sort previous: ",

    for iter in a:

        print iter,

    sortNum(a)

 

    print "\\\\nafter sorted: ",

    for i in a:

        print i,

算法代码实现二:

#冒泡算法二

def bubble(x,n):

    for i in range(n):

        for j in range(n-1):

            if x[i]<x[j]:

                t = x[i]

                x[i] = x[j]

                x[j] = t

    return x



list_t = [3,2,8,5,6,4,1,9,8,74]

print bubble(list_t,len(list_t))

 

你可能感兴趣的:(算法)