python实现【冒泡排序】(bubbleSort)

算法原理介绍

冒泡排序是一种简单的排序算法。它的基本原理思想是重复地走访过要排序的数列,并且依次比较两个元素,如果它们的顺序错误就把它们的位置进行交换。重复地遍历未排序的数组序列,直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的头部,因此称之为冒泡。

算法过程描述

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

算法排序图解如下

python实现代码

def bubbleSort(arr):n = len(arr)# # 进行n-1轮,每一轮会将前n-1-i个元素最大值放置n-i处for i in range(n-1): for j in range(n-1-i): if arr[j] > arr[j+1]:arr[j], arr[j + 1] = arr[j+1], arr[j]  # 相邻元素交换return arr

想了解其他排序相关算法可以,看作者的排序算法专栏。

如果喜欢作者,欢迎点赞、收藏及关注,谢谢!

欢迎扫描下面二维码关注公众号:阿旭算法与机器学习, 可以和作者共同学习交流。

python实现【冒泡排序】(bubbleSort)相关推荐

  1. python实现冒泡排序完整算法_Python实现冒泡排序算法的完整实例

    冒泡排序:顾名思义就是(较小的值)像泡泡一样往上冒,(大的值)往下沉. 实现原理:依次将相邻两个数值进行比较,较小的数值移到左边,较大的数值移到右边,依次比较完第一轮后,最大的数值应该排在最右边.然后 ...

  2. python实现冒泡排序视频_Python实现冒泡排序算法的完整实例

    冒泡排序:顾名思义就是(较小的值)像泡泡一样往上冒,(大的值)往下沉. 实现原理:依次将相邻两个数值进行比较,较小的数值移到左边,较大的数值移到右边,依次比较完第一轮后,最大的数值应该排在最右边.然后 ...

  3. python与冒泡排序

    上一篇文章,介绍了一个非常快的排序算法--桶排序,但是它的缺点就是太耗资源了,这次要实现的算法就不用太耗资源了,它就是冒泡排序. 问题提出: 将以下数据升序排列:9, 2, 8, 6, 4 冒泡排序原 ...

  4. Python实现冒泡排序的代码

    以下是Python实现冒泡排序的代码: 格式有点问题,重新调整一下,如下: def bubbleSort(nums):# 设置一个flag,用来判断某次循环是否发生了交换flag = Truefor ...

  5. python实现冒泡排序完整算法_利用python实现冒泡排序算法实例代码

    利用python实现冒泡排序算法实例代码 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数 ...

  6. python实现冒泡排序视频_Python实现冒泡排序

    图文教程 上次,我们学习了Python中的循环.今天,我们做一个关于循环的练习,来加深大家的学习成果. 这个练习叫什么呢?我们就用Python实现冒泡排序 冒泡排序 要学习冒泡排序必须知道它的原理: ...

  7. python 实现冒泡排序的思路和代码

    当需求提到需要从小到大的排序时,我们很自然的就会想起最基础的"冒泡排序" 冒泡排序的原理就不再多说了,网上有一大堆,以下是python实现冒泡排序的代码. 对于冒泡排序算法,如果有 ...

  8. python列表冒泡排序,Python实现简单的列表冒泡排序和反转列表操作示例

    #-*-coding:utf-8-*- #g:/python #冒泡排序 #1.定义一个列表 number=[6665,666,323,124,4442,5,123,412,55] #外循环控制冒泡排 ...

  9. python学习——python实现冒泡排序算法

    python实现冒泡排序算法 一.冒泡排序算法实现原理 基本思想 具体步骤 二.图解冒泡排序 三.py代码实现冒泡排序算法 一.冒泡排序算法实现原理 基本思想 比较相邻的元素.如果第一个比第二个大,就 ...

  10. python遍历数组冒泡排序法_十种排序七种搜索算法的Python实现——气泡排序,十大,七大,查找,python,冒泡排序,bubblesort...

    一.十大排序算法 数据准备 使用random库随机生成无序数组 import random def random_list(start, end, number): temp = [] i = 0 w ...

最新文章

  1. ext2和ext3文件系统知识
  2. Docker Centos 7.X部署Tomcat 并且修改Server.xml配置文件方案 并设置时区 只要十一步
  3. centos的mysql命令,Centos系统mysql相关命令
  4. 小米C++开发 面试 准备阶段和部分真题
  5. 设计模式_1_工厂模式与抽象工厂
  6. 3.Event Loop
  7. ES6数组知识点,巧妙运用数组,对循环说88
  8. 最长回文字串--动态规划
  9. Go语言-UDP编程
  10. CSAPP第六章家庭作业参考答案
  11. VARCHART XGantt适用于.NET v5.1 Build 337
  12. JavaWeb学习方法
  13. jenkins 下载插件失败 有效的处理办法(亲测)
  14. AGV机器人核心部件——驱动轮
  15. Apktool命令使用总结
  16. Package.json文件配置
  17. 外接硬盘在电脑中不显示的解决方案
  18. A - DZY Loves Sequences
  19. Django--学生管理系统(django慢更)
  20. 网页设计与制作常考概念以及问答题

热门文章

  1. pyrcc5将resources.qrc转换成py文件
  2. 2006武汉美食地图
  3. 听见丨HTC发布新款Vive Pro,采用高分辨率OLED屏并内置耳机 高通在CES上发布新芯片,可将蓝牙耳机续航延长3倍
  4. 【微服务】SpringCloud微服务环境搭建
  5. perl 串口 linux,Perl的串口操作Win32::SerialPort
  6. 控制结构(强化):18.今夕何夕
  7. 完全小白篇-使用Python爬取网络小说
  8. 医药协会网站-前端网页技术设计HTML+CSS精美完整网页网站源码
  9. win10计算机扫描,win10电脑哪里添加扫描仪?win10电脑添加扫描仪的方法
  10. English语法_状语从句