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

见下图:

方法一:常规实现冒泡排序

# 方法1

# 定义一个列表,用于存放数字

list = []

while True:

# 自定义输入数字个数

print('你想排列几个数?')

try:

num = int(input())

for i in range(num):

a = int(input('请输入第' + str((i+1)) + '个整数:'))

list.append(a)

except ValueError:

print('输入有误!')

# 冒泡排序核心代码,

for j in range(len(list)-1):

for k in range(len(list)-1):

if list[k] < list[k+1]:

t = list[k]

list[k] = list[k+1]

list[k+1] = t

print(list)

算法的优劣主要看它的时间复杂度,冒泡排序的时间复杂度为:O(N^2)

可以看出,冒泡排序的时间复杂度偏高,所以它还不是最优算法!

方法二:利用sorted()方法快速实现排序

# 定义一个列表对象存数字

list = []

print('你想排列几个数?')

try:

num = int(input())

for i in range(num):

a = int(input('请输入第' + str((i + 1)) + '个整数:'))

list.append(a)

except ValueError:

print('输入有误!')

# 利用sorted()方法排序,并使用reverse字段实现降序

print(sorted(list, reverse=True))

非常推荐这种利用sorted()方法实现排序的方法,因为简单嘛!python就是以简洁为名,越少的代码实现相同的功能

python冒泡排序代码和注释_Python 冒泡排序相关推荐

  1. python冒泡排序代码和注释_python代码求助(两个实验任务,尽量写出注释~)

    展开全部 一.直接搜索e68a84e8a2ad62616964757a686964616f31333337626163def find(s, sub): ls = len(s) lsub = len( ...

  2. php冒泡排序代码及注释,php冒泡排序

    /* *@冒泡排序面试总结 */ $arr = array(9,3,2,1,8,4,100,99,23,45,67,87,1234); echo ' '; print_r(SortAsc($arr)) ...

  3. python石头剪刀布代码带注释_Python石头剪刀布

    import random choices = ["Rock", "Paper", "Scissors"] computer = rando ...

  4. python冒泡排序算法非递归_python 冒泡排序,递归

    今天LeetCode的时候暴力求解233 问题: 给定一个整数 n,计算所有小于等于 n 的非负数中数字1出现的个数. 例如: 给定 n = 13, 返回 6,因为数字1出现在下数中出现:1,10,1 ...

  5. python如何大段注释_python大段注释

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 字典(dict)列表(list)可变集合(set)python中引号的作用:' ...

  6. 如何进入python程序代码编辑环境_Python怎么打开代码编辑器 来学习吧

    Python作为近几年来最为优秀的编程语言之一,受到了很多程序员的追捧,现在我教大家如何打开Python的代码编辑器 工具/材料 电脑 Python 操作方法 01 首先,点击[开始]按钮,开始按钮几 ...

  7. python写代码怎么分行_python怎么分行

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 文件路径文件路径的书写格式 以下三种书写格式都符合python语法:文件内容的操 ...

  8. python 画图代码及解释_python画图(图例、网格、注释) - v2

    每件事情总有两面性,当我们看到不太好的一面时,一定要想着去寻找一下好的一面.就比如,原本计划好的五一行程被打乱之后,我脑子里便诞生了一个"伟大"的想法,立马买好了乳胶漆打算利用闲暇 ...

  9. python基础代码的含义_Python基础学习篇

    原标题:Python基础学习篇 1.编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是unicode 字符串. 当然你也可以为源码文件指定不同的编码:# -*- codi ...

最新文章

  1. 用 .NET Memory Profiler 跟踪.net 应用内存使用情况--基本应用篇
  2. django 框架中应用 redis 集群
  3. 机器学习必学10大算法
  4. hdu 4588 Count The Carries 南京邀请赛
  5. Java的String类是上帝的对象吗?
  6. python程序写诗_python写的简单发送邮件的脚本
  7. Win7电脑创建本地连接网络的操作方法
  8. 4本数据库新书,大神都在追着看
  9. 【Java数据结构与算法】第八章 快速排序、归并排序和基数排序
  10. ppt给图片增加高斯模糊_【毕业答辩】PPT美化:如何设计毕业答辩的封面
  11. Matlab读nc文件
  12. BP神经网络(算法整体思路及原理+手写公式推导)
  13. 会声会影编辑html,网页视频制作使用会声会影剪辑
  14. 魅族 计算机 隐藏,不知道你们发现了么,魅族Flyme6 超好用的隐藏功能
  15. [交互问题]XML 解析错误:格式不佳
  16. Element UI修改message控件显示的时间
  17. 如何查看电脑的操作系统以及更改计算机名称
  18. 微信小程序云开发-微信小程序账号申请及新手环境配置
  19. java font 字体加粗_java字体设置,包括大小,颜色,加粗,下划线,对齐,斜体的设置...
  20. 谷歌浏览器无法记住密码问题

热门文章

  1. 深入理解JVM(三)Java 类加载机制
  2. C语言中的二进制数,八进制数,十进制数,十六进制数
  3. 百度开放云520深情告白开发者 9.9元尝新体验高调上线
  4. Android中PID与UID的作用与区别
  5. cocosstudio Armature 转换为 cocosCreator的DragonBones格式
  6. 【MinU:1渗透笔记】
  7. iOS开发——项目中的地图跳转(苹果地图,百度地图,高德地图)
  8. shell python对比_python和shell对比
  9. 蒜头君的数轴:正反gcd
  10. JS弹出对话框的三种方式