栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

儿童python教程107:Python嵌套循环实现冒泡排序

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

儿童python教程107:Python嵌套循环实现冒泡排序

冒泡排序是数据结构中的经典算法,手动实现冒泡排序,对初学者锻炼自己的编程逻辑有很大帮助,本节就带领大家使用循环结构实现冒泡排序算法。

冒泡排序算法的实现思想遵循以下几步:
  1. 比较相邻的元素,如果第一个比第二个大,就交换它们两个。
  2. 从**开始的第一对到结尾的**后一对,对每一对相邻元素做步骤 1 所描述的比较工作,并将**大的元素放在后面。这样,当从**开始的第一对到结尾的**后一对都执行完后,整个序列中的**后一个元素便是**大的数。
  3. 将循环缩短,除去**后一个数(因为**后一个已经是**大的了),再重复步骤 2 的操作,得到倒数第二大的数。
  4. 持续做步骤 3 的操作,每次将循环缩短一位,并得到本次循环中的**大数。直到循环个数缩短为 1,即没有任何一对数字需要比较,此时便得到了一个从小到大排序的序列。

通过分析冒泡排序算法的实现原理,要想实现该算法,需要借助循环结构,更确切地说,需要使用嵌套循环结构,使用 for 循环或者 while 循环都可以。

例如,使用 for 循环实现用冒泡排序算法对 [5,8,4,1] 进行排序:

data = [5,8,4,1]

#实现冒泡排序

for i in range(len(data)-1):

    for j in range(len(data)-i-1):

        if(data[j]>data[j+1]):

            data[j],data[j+1] = data[j+1],data[j]

print("排序后:",data)
运行结果为:

排序后: [1, 4, 5, 8]

可以看到,实现冒泡排序使用了 2 层循环,其中外层循环负责冒泡排序进行的次数,而内层循环负责将列表中相邻的两个元素进行比较,并调整顺序,即将较小的放在前面,较大的放在后面。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/806006.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号