python冒泡排序代码和注释_Python 冒泡排序

python冒泡排序代码和注释_Python 冒泡排序冒泡排序(BubbleSort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢”浮”到数列的顶端。见下图:方法一:常规实现冒泡排序#方法1#定义一个列表,用于存放数字list=[]whileTrue:#…

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

Jetbrains全系列IDE稳定放心使用

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

见下图:

python冒泡排序代码和注释_Python 冒泡排序

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

# 方法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就是以简洁为名,越少的代码实现相同的功能

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

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

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


相关推荐

  • zigbee组网的设计_物联网组网技术

    zigbee组网的设计_物联网组网技术目前,针对一定区域内信息和设备进行监测和控制多采用有线方式通信,网络在布线和维护过程中由于线路腐蚀和损坏造成网络中断,给正常生产工作带来影响,同时也增加了人力资源成本比重。基于此,从节省成本和网络稳定性考虑,给出一种基于ZigBee技术的多节点设备无线自组网设计方案。   基于IEEE802.15.4协议的ZigBee技术是一种新兴的短距离无线通信技术,具有功耗低、成本低

    2022年10月8日
    3
  • 查询电脑用户名命令_怎么改电脑管理员用户名

    查询电脑用户名命令_怎么改电脑管理员用户名2016-12-1809:07:531.首先我们点击电脑左下角的开始,然后点击“控制面板”2.在弹出的窗口里点击“添加或删除用户账户”3.点击“创建一个新账户”4.填上你要开的账号的名字5.勾选你要开的账号…2017-01-0414:07:08无线网络(wifi)名的更改方法:1.打开电脑的wifi,搜索路由器默认wifi名(路由器背面铭牌有写),连接wifi网络。2.打开电…

    2022年10月14日
    8
  • Android SVN开发实战的文件夹结构呈现

    Android SVN开发实战的文件夹结构呈现

    2021年12月31日
    39
  • JSP中Session的使用

    JSP中Session的使用

    2021年12月14日
    53
  • SpringBoot集成Eurake、Gateway和Redis+Token验证拦截器实现

    SpringBoot集成Eurake、Gateway和Redis+Token验证拦截器实现SpringBoot聚合项目配置Eurake和Gateway一、版本信息:SpringBoot <version>2.2.6.RELEASE</version>SpringCloud <spring-cloud.version>Hoxton.SR1</spring-cloud.version>二、开始配置一个聚合项目1.先建一个父级工程:最终pom.xml配置如下:<?xmlversion=”1.0″encodin

    2022年5月29日
    35
  • 电容的基础知识

    常用电容按介质区分有纸介电容、油浸纸介电容、金属化纸介电容、云母电容、薄膜电容、陶瓷电容、电解电容等。表1 常用电容的结构和特点电容种类电 容 结 构&#

    2021年12月26日
    107

发表回复

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

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