Python常见排序之冒泡排序(详解)

2023-11-14

一、为啥叫冒泡排序呢?因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中co2的气泡最终会上浮到顶端一样,故名“冒泡排序”。

二、排序思路:

1.相邻元素之间的比较,如果第一个元素比第二个元素大,则他们两个进行交换。(若第一个元素小于第二个元素,则不交换位置,第二个和第三个进行比较)

2.对每一对的元素进行同样的工作,直到最后一对元素。则最后一个元素是最大的元素。(所以在下一轮比较时,除了最后一个元素重复以上的步骤)

3.重复以上的步骤直到没有任何一对数字需要比较则结束。

三、代码:

arr = [8,3,2,5,6,9,1]
for i in range(0,len(arr)-1):
    for j in range(0,len(arr)-1-i):
        if arr[j] >= arr[j+1]:
            arr[j],arr[j+1] = arr[j+1],arr[j]
print(arr)
        

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python常见排序之冒泡排序(详解) 的相关文章

  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • 通过 Scrapy 抓取 Google Analytics

    我一直在尝试使用 Scrapy 从 Google Analytics 获取一些数据 尽管我是一个完全的 Python 新手 但我已经取得了一些进展 我现在可以通过 Scrapy 登录 Google Analytics 但我需要发出 AJAX
  • 使 django 服务器可以在 LAN 中访问

    我已经安装了Django服务器 可以如下访问 http localhost 8000 get sms http 127 0 0 1 8000 get sms 假设我的IP是x x x x 当我这样做时 从同一网络下的另一台电脑 my ip
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • BeautifulSoup 中的嵌套标签 - Python

    我在网站和 stackoverflow 上查看了许多示例 但找不到解决我的问题的通用解决方案 我正在处理一个非常混乱的网站 我想抓取一些数据 标记看起来像这样 table tbody tr tr tr td td td table tr t
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • 在Python中获取文件描述符的位置

    比如说 我有一个原始数字文件描述符 我需要根据它获取文件中的当前位置 import os psutil some code that works with file lp lib open path to file p psutil Pro
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • Jupyter Notebook 内核一直很忙

    我已经安装了 anaconda 并且 python 在 Spyder IPython 等中工作正常 但是我无法运行 python 笔记本 内核被创建 它也连接 但它始终显示黑圈忙碌符号 防火墙或防病毒软件没有问题 我尝试过禁用两者 我也无法
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • Python Selenium:如何在文本文件中打印网站上的值?

    我正在尝试编写一个脚本 该脚本将从 tulsaspca org 网站获取以下 6 个值并将其打印在 txt 文件中 最终输出应该是 905 4896 7105 23194 1004 42000 放置的动物 的 HTML span class

随机推荐

  • 61-C语言-小猴吃桃问题

    问题 猴桑第一天兴高采烈地采了好多桃子 并且吃了一半 太好吃了 然后又多吃了一个 第二天又吃了一半多一个 以此类推 到第十天的时候 再想吃的时候就剩下1个桃子了 那么请问 第一天猴桑摘了多少桃子 思路 跟做数学题一样 先提取有用条件 1 到
  • 光功率和光衰的单位_太阳能照明的功率、流明与照度的计算方法

    今天小编来给大家聊一聊太阳能照明应用中的一些实际问题 我们经常会收到这样的问题 我的院子100个平方 要选多大功率的太阳能灯 分别要多少个才够亮 本公司印度某地工程项目 这里有一个比较简单的估算公式推荐给大家 首先我们确定自已想要达到一个什
  • python怎么装_python如何安装pickle

    pickle是python语言的一个标准模块 安装python后已包含pickle库 不需要单独再安装 pickle模块实现了基本的数据序列化和反序列化 推荐学习 Python视频教程 通过pickle模块的序列化操作我们能够将程序中运行的
  • 大数据毕设项目 大数据实时疫情数据可视化系统 - flask python

    文章目录 1 课题背景 2 数据库设计实现 3 实现效果 4 Flask框架 5 爬虫 6 Ajax技术 7 Echarts 8 最后 1 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业
  • 使用pytorch版faster-rcnn训练自己数据集

    使用pytorch版faster rcnn训练自己数据集 引言 faster rcnn pytorch代码下载 训练自己数据集 接下来工作 参考文献 引言 最近在复现目标检测代码 师兄强烈推荐FPN 但本文只针对Faster RCNN 大家
  • 小程序swiper动态数据不显示

    情景一 swiper的current不在第一页了 导致第一页的数据看不到 处理方法 在请求数据的时候重置current为0 即
  • C语言printf和scanf函数

    最近在敲c语言例子的时候 对于很多小知识点不清楚 这里主要根据例子来总结一下 一 printf函数 1 printf是格式输出函数 它的作用是想终端输出若干个任意类型的数据 一般格式如下 printf 格式控制 输出表列 例如 printf
  • (Java 基础知识) Java线程池

    ExecutorService 建立多线程的步骤 1 定义线程类 class Handler implements Runnable 2 建立ExecutorService线程池 ExecutorService executorServic
  • 配置logback 不打印日志

    今天尝试下logback 做测试
  • 【C++】 Qt-事件(下)(事件过滤、自定义事件)

    文章目录 事件过滤 自定义事件 事件过滤 event 函数是一个protected的函数 这意味着我们要想重写event 必须继承一个已有的组件类 重写其event 函数 event 函数的确有一定的控制 不过有时候我的需求更严格一些 我希
  • DB2数据库跨实例恢复

    DB2数据库也可以和Oracle一样 进行异机或跨实例进行备份集的恢复 原理与Oracle有几分类似 但DB2对表空间的处理有点特殊 分自动管理的表空间和非自动管理的表空间 经过测试 大致恢复过程如下 首先在线备份原数据库 包含原数据库的日
  • Windows 10 安装python到U盘并设计自动添加环境变量脚本

    1 在python官网正常下载python安装包 2 U盘插到电脑上 安装到U盘的版本如果和电脑上的完全相同 则需要暂时屏蔽python环境变量 未实验 我选择的是在U盘中安装的32位的python3 7 9 笔记本电脑上安装的是64位的p
  • 在qt项目中使用外部第三方字体库字体

    文章目录 一 第三方字体库字体 二 使用方法 1 直接代码添加 2 使用QSS进行添加 一 第三方字体库字体 在项目开发中 有时候我们可能会由于某些原因会用到qt所提供的字体库之外的字体 这个时候就不可以直接设置字体了 需要做一些操作才行
  • 转:在线HTML编辑器 CKEditor4 下载及使用说明。

    转 在线HTML编辑器 CKEditor4 下载及使用说明 这里是CKEditor4最新版本 演示实例 其它实例请下载后可查看源码 CKEditor4是FCKeditor之后重新开发的版本 是一款专门使用在网页上属于开放源代码的所见即所得文
  • 3.6设计模式————迪米特法则——面向对象设计原则

    迪米特法则的定义 迪米特法则 Law of Demeter LoD 又叫作最少知识原则 Least Knowledge Principle LKP 产生于 1987 年美国东北大学 Northeastern University 的一个名为
  • Postgresql:删除及查询字段中包含单引号的数据

    Postgresql 删除及查询字段中包含单引号的数据 1 假设pg表t info的属性att 值为固定的 test 2 假设值为不固定的 abcde 参考 1 假设pg表t info的属性att 值为固定的 test 删除可以用 用 转义
  • Java常用类(二):StringUtils类

    目录 1 什么是StringUtils类 2 StringUtils类的常用方法 2 1 isEmpty String str 2 2 isNotEmpty String str 2 3 isBlank String str 2 4 isN
  • C/C++库函数(tolower/toupper)实现字母的大小写转换

    C C 库函数 tolower toupper 实现字母的大小写转换 本文将介绍库函数实现字母的大小写转换 常用到的是在ctype h C 中是cctype 库文件下定义的函数方法 首先来看一下C下tolower toupper函数实现原型
  • latex:圆周率如何表示

    2019独角兽企业重金招聘Python工程师标准 gt gt gt pi 转载于 https my oschina net letiantian blog 316387
  • Python常见排序之冒泡排序(详解)

    一 为啥叫冒泡排序呢 因为越小的元素会经由交换慢慢 浮 到数列的顶端 升序或降序排列 就如同碳酸饮料中co2的气泡最终会上浮到顶端一样 故名 冒泡排序 二 排序思路 1 相邻元素之间的比较 如果第一个元素比第二个元素大 则他们两个进行交换