zoukankan      html  css  js  c++  java
  • Python算法--排序-冒泡排序

    一、冒泡排序

    我们在学校都学习过排序算法,这些排序算法中就有一个我们常提到的冒泡排序(Bubble Sort)

    冒泡排序,顾名思义,就是像水中的小鱼吐泡泡一样,一边变大,一边向上浮动,它重复地走查需要进行排序的数列,每次比较两个相邻的元素,如果他们的顺序是错误的,就把他们的顺序交换过来。

    我们看一下网上的这个示意图:

    对于 N 个元素的列表,如果我们每次只找出一个最大(小)值,那么我们按理来说需要进行(N-1)次比较即可完成对该列表的排序;

    二、编码实现

    不多说,直接上编码=。=刚开始写,写得不好多包涵,哈哈哈哈

    # -*- coding: utf-8 -*-
    # @Author  : Sai
    # @Email   : 932934045@qq.com
    # @File    : my_sort.py
    # @Time    : 2020/8/11 14:54
    
    def bubble_sort(arr):
        '''
        冒泡排序
        :param arr: 待排序列表
        :return: 排序后的列表
        '''
        for i in range(1, len(arr)):
            for j in range(0, len(arr) - i):
                if arr[j] > arr[j + 1]:
                    arr[j], arr[j + 1] = arr[j + 1], arr[j]
            # print(arr)
        return arr
    
    
    if __name__ == '__main__':
        arr1 = [3, 4, 5, 9, 8, 6, 0, 10, 2, 7, 1]
        print("排序前顺序为:" , arr1)
        new_arr = bubble_sort(arr1)
        print("排序后顺序为:" , new_arr)
    

    运行效果如下:

    【参考链接】
    https://blog.csdn.net/u014597198/article/details/91395700
    https://www.runoob.com/python3/python3-examples.html

  • 相关阅读:
    react常用的方法
    react手动搭建
    js基础
    原生JavaScript实例之简单放大镜
    ||与&&的返回值
    promise简单小结
    连接服务器一般步骤
    github小总结
    __proto__指向问题
    一些函数返回值
  • 原文地址:https://www.cnblogs.com/saixuyu/p/13472929.html
Copyright © 2011-2022 走看看