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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python 机器学习中模型评估和调参

    python 机器学习中模型评估和调参

    2021年11月21日
    47
  • 数论——欧拉函数

    数论——欧拉函数定义小于n的正整数中与n互质的数的数目(φ(1)=1)通式证明:设p是N的质因子,1~N中p的倍数有p,2p,3p,…,(N/p)*p,共N/p个。同理,若q也是N的质因子,则1~N中q的倍

    2022年7月2日
    26
  • html js 数组添加,js数组添加数据

    html js 数组添加,js数组添加数据我们在学习python的过程中,会对列表、字符串添加数据。在Javascript中,我们也会对数组添加数据。在不同的位置添加数据有着不同的方法。本文介绍js数组添加数据的三种方法:1、结尾添加push()方法;2、头部添加unshift()方法;3、向/从数组指定位置添加/删除项目,然后返回被删除的项目splice()方法。方式一:结尾添加push()方法1、语法arrayObject.pus…

    2022年6月14日
    26
  • git如何合并远程2个分支

    git如何合并远程2个分支

    2021年10月22日
    95
  • 详细教你如何部署ICE服务(一)

    详细教你如何部署ICE服务(一)这系列文章将会一步步教你如何部署一个ICE服务,如果你正在读这篇博客,我想你已经了解了什么是ICE(InternetCommunicationsEngine),以及如何去实现ICE服务,并且了解什么是ICE对象、ICE对象标识符、ICE对象适配器、ICE服务实现servant、ICE通信器等概念,当然如果你连什么是ICE都不知道,我不建议你继续读下去。先说一下ICE的基本组件:(1)

    2022年5月30日
    32
  • linux(4)Linux 文件内容查看「建议收藏」

    linux(4)Linux 文件内容查看「建议收藏」查看文件内容总览cat由第一行开始显示文件内容tac从最后一行开始显示,可以看出tac是cat的倒着写!nl显示的时候,顺道输出行号!more一页一页的显示文件内容less

    2022年7月29日
    5

发表回复

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

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