Python 冒泡排序_python

Python 冒泡排序_python要学习冒泡排序必须知道它的原理:冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。例子:1,2,3,4,5,6就拿1到6来举例子吧!这里面有n个数字,你要对其进…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

要学习冒泡排序必须知道它的原理:

冒泡排序算法的原理如下:

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

对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

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

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

例子:

1,2,3,4,5,6

就拿1到6来举例子吧!这里面有n个数字,你要对其进行从大到小的排序的话,你就要拿相邻的两个数进行比较,如果第一个数比第二个大就交换他们的位置:第二个就和第三个比较,一直这样下去,直到最小的就会在最后面了,然后继续从第一和第二个进行比较,如此下去。

第1轮: 1,2,3,4,5,6 2,1,3,4,5,6 2,3,1,4,5,6 2,3,4,1,5,6 2,3,4,5,1,6 2,3,4,5,6,1

第2轮:2,3,4,5,6,1 3,2,4,5,6,1 3,4,2,5,6,1 3,4,5,2,6,1 3,4,5,6,2,1

第3轮:3,4,5,6,2,1 4,3,5,6,2,1 4,5,3,6,2,1 4,5,6,3,2,1

第4轮:4,5,6,3,2,1 5,4,6,3,2,1 5,6,4,3,2,1

第5轮:5,6,4,3,2,1 6,5,4,3,2,1

由上面可以清楚了解到一个进行了五轮排序,后一轮都要比前一轮少一次比较,第一轮进行n-1次比较

这样就可以编写代码了

a_list = [1, 2, 3, 4, 5, 6]

for t in range(len(a_list)-1):

for i in range(0, len(a_list)-1):

tmp = a_list[i]

if a_list[i] < a_list[i+1]:

a_list[i] = a_list[i+1]

a_list[i+1] =tmp

print(a_list)

这样就是冒泡排序了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181512.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm如何调试python程序_Pycharm断点调试Python程序的步骤方法

    pycharm如何调试python程序_Pycharm断点调试Python程序的步骤方法利用Pycharm断点调试Python程序的方法1.代码准备没有语法错误的Python程序:#!/usr/bin/pythonimportnumpyasnpclassNetwork:def__init__(self,sizes):self.num_layers=len(sizes)self.sizes=sizesself.biases=[np.random.randn(y,1)for…

    2025年6月26日
    4
  • mysql 获取当前时间数字_MySQL 获得当前日期时间(以及时间的转换)

    mysql 获取当前时间数字_MySQL 获得当前日期时间(以及时间的转换)MYSQL获取当前日期及日期格式获取系统日期:NOW()格式化日期:DATE_FORMAT(date,format)注:date:时间字段format:日期格式返回系统日期,输出2009-12-2514:38:59selectnow();输出09-12-25selectdate_format(now(),’%y-%m-%d’);根据format字符串格式化date值:%S,%…

    2022年9月27日
    3
  • bootstrap模态框关闭后清除模态框的数据

    bootstrap模态框关闭后清除模态框的数据

    2021年11月8日
    40
  • 将ipad作为电脑拓展屏或分屏的简单方法[通俗易懂]

    将ipad作为电脑拓展屏或分屏的简单方法[通俗易懂]用Ipad实现电脑分屏的方法是挺简单的,但鉴于部分小白找不到合适的门路,在此重新分享一下。需要的装备:ipad电脑数据连接线方法:某宝上搜索 duetdisplay,只需1元左

    2022年8月5日
    10
  • WinServer2012配置AD域

    WinServer2012配置AD域WinServer2012配置AD域一、修改域控主机网卡IP,配置为静态IP,DNS配置为本机,并修改计算机名修改计算机名后需要重启注:若发现域控主机外部无法ping通请注意修改防火墙配置二、安装AD服务,将主机作为域控主机点击添加功能后,单击下一步随后添加功能组件,根据需求添加,点击下一步等待安装完成安装完成点击关闭安装完成后,点击上方的通知选择将此服务器提升为域控制器选择添加新林,设置好域名后点击下一步设置域还原密码,用于当域主机出现故障

    2022年5月16日
    42
  • 分类分类分类_常见名词有哪些

    分类分类分类_常见名词有哪些[{“Name”:”北京房产”,”SubMenu”:[{“Name”:”北京房产”,”SubMenu”:null,”CategoriesMenu”:null},{“Name”:”租房”,”SubMenu”:null,”CategoriesMenu”:null},{“Name”:”整租”,”SubMenu”:null,”CategoriesMenu”:null},{“Name”:”合租”,”SubMenu”:null,”CategoriesMenu”:null},{“Name”:”民宿短租”,”SubMenu

    2022年10月4日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号