• Python中怎么使用(冒泡排序)?


    一、冒泡排序

      1.   原理:比较两个相邻的元素,将值大的元素交换到右边

      2.   思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。

        (1)第一次比较:首先比较第一和第二个数,将小数放在前面,将大数放在后面。

        (2)比较第2和第3个数,将小数 放在前面,大数放在后面。

        (3)如此继续,知道比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成

      3.   举例:要排序的数组 

        li = [1,3,5,9,70, 135, 12, 17, 24, 34]
     1 li = [1,3,5,9,70, 135, 12, 17, 24, 34]
     2 
     3 for i in range(len(li)):  # i 是固定位置的元素
     4     print("当前用来对比的位置是:%s,数据是:%s" % (i, li[i]))
     5     for j in range(len(li)):
     6         # j是用来被对比的每个元素     用的是list中每个value去循环,做数据交换 没法去做
     7         print("现在用%s和%s进行对比" % (li[i], li[j]))
     8         if li[i] < li[j]:
     9             li[i], li[j] = li[j], li[i]
    10         print(li)
    11     print("======当前位置:%s,数据:%s 已结束==========" % (i, li[i]))
    12 
    13 print(li)

    运行代码结果如下:

    当前用来对比的位置是:0,数据是:1
    现在用1和1进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用1和3进行对比
    [3, 1, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用3和5进行对比
    [5, 1, 3, 9, 70, 135, 12, 17, 24, 34]
    现在用5和9进行对比
    [9, 1, 3, 5, 70, 135, 12, 17, 24, 34]
    现在用9和70进行对比
    [70, 1, 3, 5, 9, 135, 12, 17, 24, 34]
    现在用70和135进行对比
    [135, 1, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和12进行对比
    [135, 1, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和17进行对比
    [135, 1, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和24进行对比
    [135, 1, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和34进行对比
    [135, 1, 3, 5, 9, 70, 12, 17, 24, 34]
    ======当前位置:0,数据:135 已结束==========
    当前用来对比的位置是:1,数据是:1
    现在用1和135进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和135进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和3进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和5进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和9进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和70进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和12进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和17进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和24进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用135和34进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    ======当前位置:1,数据:135 已结束==========
    当前用来对比的位置是:2,数据是:3
    现在用3和1进行对比
    [1, 135, 3, 5, 9, 70, 12, 17, 24, 34]
    现在用3和135进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    现在用135和135进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    现在用135和5进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    现在用135和9进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    现在用135和70进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    现在用135和12进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    现在用135和17进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    现在用135和24进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    现在用135和34进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    ======当前位置:2,数据:135 已结束==========
    当前用来对比的位置是:3,数据是:5
    现在用5和1进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    现在用5和3进行对比
    [1, 3, 135, 5, 9, 70, 12, 17, 24, 34]
    现在用5和135进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    现在用135和135进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    现在用135和9进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    现在用135和70进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    现在用135和12进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    现在用135和17进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    现在用135和24进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    现在用135和34进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    ======当前位置:3,数据:135 已结束==========
    当前用来对比的位置是:4,数据是:9
    现在用9和1进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    现在用9和3进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    现在用9和5进行对比
    [1, 3, 5, 135, 9, 70, 12, 17, 24, 34]
    现在用9和135进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    现在用135和135进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    现在用135和70进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    现在用135和12进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    现在用135和17进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    现在用135和24进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    现在用135和34进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    ======当前位置:4,数据:135 已结束==========
    当前用来对比的位置是:5,数据是:70
    现在用70和1进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    现在用70和3进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    现在用70和5进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    现在用70和9进行对比
    [1, 3, 5, 9, 135, 70, 12, 17, 24, 34]
    现在用70和135进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用135和135进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用135和12进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用135和17进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用135和24进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用135和34进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    ======当前位置:5,数据:135 已结束==========
    当前用来对比的位置是:6,数据是:12
    现在用12和1进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用12和3进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用12和5进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用12和9进行对比
    [1, 3, 5, 9, 70, 135, 12, 17, 24, 34]
    现在用12和70进行对比
    [1, 3, 5, 9, 12, 135, 70, 17, 24, 34]
    现在用70和135进行对比
    [1, 3, 5, 9, 12, 70, 135, 17, 24, 34]
    现在用135和135进行对比
    [1, 3, 5, 9, 12, 70, 135, 17, 24, 34]
    现在用135和17进行对比
    [1, 3, 5, 9, 12, 70, 135, 17, 24, 34]
    现在用135和24进行对比
    [1, 3, 5, 9, 12, 70, 135, 17, 24, 34]
    现在用135和34进行对比
    [1, 3, 5, 9, 12, 70, 135, 17, 24, 34]
    ======当前位置:6,数据:135 已结束==========
    当前用来对比的位置是:7,数据是:17
    现在用17和1进行对比
    [1, 3, 5, 9, 12, 70, 135, 17, 24, 34]
    现在用17和3进行对比
    [1, 3, 5, 9, 12, 70, 135, 17, 24, 34]
    现在用17和5进行对比
    [1, 3, 5, 9, 12, 70, 135, 17, 24, 34]
    现在用17和9进行对比
    [1, 3, 5, 9, 12, 70, 135, 17, 24, 34]
    现在用17和12进行对比
    [1, 3, 5, 9, 12, 70, 135, 17, 24, 34]
    现在用17和70进行对比
    [1, 3, 5, 9, 12, 17, 135, 70, 24, 34]
    现在用70和135进行对比
    [1, 3, 5, 9, 12, 17, 70, 135, 24, 34]
    现在用135和135进行对比
    [1, 3, 5, 9, 12, 17, 70, 135, 24, 34]
    现在用135和24进行对比
    [1, 3, 5, 9, 12, 17, 70, 135, 24, 34]
    现在用135和34进行对比
    [1, 3, 5, 9, 12, 17, 70, 135, 24, 34]
    ======当前位置:7,数据:135 已结束==========
    当前用来对比的位置是:8,数据是:24
    现在用24和1进行对比
    [1, 3, 5, 9, 12, 17, 70, 135, 24, 34]
    现在用24和3进行对比
    [1, 3, 5, 9, 12, 17, 70, 135, 24, 34]
    现在用24和5进行对比
    [1, 3, 5, 9, 12, 17, 70, 135, 24, 34]
    现在用24和9进行对比
    [1, 3, 5, 9, 12, 17, 70, 135, 24, 34]
    现在用24和12进行对比
    [1, 3, 5, 9, 12, 17, 70, 135, 24, 34]
    现在用24和17进行对比
    [1, 3, 5, 9, 12, 17, 70, 135, 24, 34]
    现在用24和70进行对比
    [1, 3, 5, 9, 12, 17, 24, 135, 70, 34]
    现在用70和135进行对比
    [1, 3, 5, 9, 12, 17, 24, 70, 135, 34]
    现在用135和135进行对比
    [1, 3, 5, 9, 12, 17, 24, 70, 135, 34]
    现在用135和34进行对比
    [1, 3, 5, 9, 12, 17, 24, 70, 135, 34]
    ======当前位置:8,数据:135 已结束==========
    当前用来对比的位置是:9,数据是:34
    现在用34和1进行对比
    [1, 3, 5, 9, 12, 17, 24, 70, 135, 34]
    现在用34和3进行对比
    [1, 3, 5, 9, 12, 17, 24, 70, 135, 34]
    现在用34和5进行对比
    [1, 3, 5, 9, 12, 17, 24, 70, 135, 34]
    现在用34和9进行对比
    [1, 3, 5, 9, 12, 17, 24, 70, 135, 34]
    现在用34和12进行对比
    [1, 3, 5, 9, 12, 17, 24, 70, 135, 34]
    现在用34和17进行对比
    [1, 3, 5, 9, 12, 17, 24, 70, 135, 34]
    现在用34和24进行对比
    [1, 3, 5, 9, 12, 17, 24, 70, 135, 34]
    现在用34和70进行对比
    [1, 3, 5, 9, 12, 17, 24, 34, 135, 70]
    现在用70和135进行对比
    [1, 3, 5, 9, 12, 17, 24, 34, 70, 135]
    现在用135和135进行对比
    [1, 3, 5, 9, 12, 17, 24, 34, 70, 135]
    ======当前位置:9,数据:135 已结束==========
    [1, 3, 5, 9, 12, 17, 24, 34, 70, 135]

  • 相关阅读:
    nc多校2021-9E.Eyjafjalla
    AcWing第一场周赛题解
    关于Windows和Linux下的对拍
    牛客小白月赛29全题解
    牛客小白月赛32全题解
    牛客小白月赛33全题解
    AC自动机
    Trie树
    KMP
    celery序列化问题
  • 原文地址:https://www.cnblogs.com/huajie-chj/p/14239601.html
Copyright © 2020-2023  润新知