Board logo

标题: 排序算法总结(python版)-1 [打印本页]

作者: look_w    时间: 2019-3-7 19:30     标题: 排序算法总结(python版)-1







冒泡排序(Bubble Sort)

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
算法描述

    比较相邻的元素。如果第一个比第二个大,就交换它们两个;
    对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;
    针对所有的元素重复以上的步骤,除了最后一个;
    重复步骤1~3,直到排序完成。

        def BubbleSort1(ls):
            for i in range(0,len(ls)):
                for j in range(0,len(ls)-i-1):
                    if ls[j] > ls[j+1]:
                        ls[j], ls[j+1] = ls[j+1], ls[j]
            return ls
            
        def BubbleSort2(ls):
            for i in range(0,len(ls)):
                flag = False
                for j in range(0,len(ls)-i-1):
                    if ls[j] > ls[j+1]:
                        ls[j], ls[j+1] = ls[j+1], ls[j]
                        flag = True
                if not flag:
                    return ls




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0