zoukankan      html  css  js  c++  java
  • Python实现冒泡排序

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

    基本思想:

    (1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。

    (2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

    (3)针对所有的元素重复以上的步骤,除了最后一个。

    (4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    #!/usr/bin/env python
    # -*- encoding: utf-8 -*-
    '''
    @File        :BubbleSort.py
    @Description :
    @CreatTime   :2020/08/20 16:06:59
    @Author      :Yunhgu
    @Version     :1.0
    '''
    
    def BubbleSort(array):
        for i in range(len(array)):
            for j in range(len(array)-1):
                if array[j]>array[j+1]:
                    array[j],array[j+1] = array[j+1],array[j]
        return array
    
    if __name__ == "__main__":
        my_list = [1, 5, 8, 9, 6, 3, 4, 7, 8]
        b = BubbleSort(my_list)
        print(b)
    不论你在什么时候开始,重要的是开始之后就不要停止。 不论你在什么时候结束,重要的是结束之后就不要悔恨。
  • 相关阅读:
    BZOJ3197:[SDOI2013]刺客信条——题解
    C 程序与 C++ 程序之间的相互调用
    使用Dev C++调试(debug)程序
    ARM 汇编指令 ADR 与 LDR 使用
    华为交换机以 LACP 模式实现链路聚合
    DLCI 简介
    华为路由器帧中继 FR 实验
    GVRP 的工作机制和工作模式
    华为路由器 HDLC 实验
    华为路由器 IPSec 与 GRE 结合实验
  • 原文地址:https://www.cnblogs.com/yunhgu/p/13541851.html
Copyright © 2011-2022 走看看