• Python嵌套循环实现冒泡排序


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

    冒泡排序算法的实现思想遵循以下几步:

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


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

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

    1. data = [5,8,4,1]
    2. #实现冒泡排序
    3. for i in range(len(data)-1):
    4. for j in range(len(data)-i-1):
    5. if(data[j]>data[j+1]):
    6. data[j],data[j+1] = data[j+1],data[j]
    7. print("排序后:",data)

    运行结果为:

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

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

  • 相关阅读:
    create mysql database
    mysql install
    mac os vim 乱码
    Three.js 基础入门
    Echarts修改提示框及自定义提示框内容
    Echarts3实例 南丁格尔饼图
    南丁格尔玫瑰图3
    Echarts实战案例代码:饼图pie之南丁格尔玫瑰图rose实现代码
    记录下vue 中引用echarts 出现 "TypeError: Cannot read property 'getAttribute' of undefined"问题
    echarts 中国地图,根据省份数值高低改变省份颜色深浅
  • 原文地址:https://www.cnblogs.com/furuihua/p/12691486.html
Copyright © 2020-2023  润新知