zoukankan      html  css  js  c++  java
  • 冒泡算法实现

    冒泡排序(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))
  • 相关阅读:
    洛谷 P6295
    洛谷 P4240
    洛谷 P3287
    My rating is 1064.
    洛谷 P5071
    C语言 #include <> 与 #include “” 区别
    C语言 #pragma once
    C语言 typedef 和 define 区别
    C语言 define 定义函数(多行书写)
    C语言 define 定义函数
  • 原文地址:https://www.cnblogs.com/blogofwyl/p/4526342.html
Copyright © 2011-2022 走看看