• Python3基础13——冒泡排序


    例1:输出99乘法表
    1 for x in range(1, 10):
    2     for y in range(1, x+1):
    3         print("{} * {} = {}	".format(y, x, x * y), end="")
    4     print()
    例2:经典冒泡算法: 利用for循环,完成a=[1,7,4,89,34,2]的冒泡排序。
    冒泡排序:小的排前面,大的排后面。 两两相邻对比排序,最终使得数组中的这几个数字按照从小到大的顺序排序。
     1 解法1:正序思维
     2 a = [1, 7, 4, 89, 34, 2]
     3 # 循环的轮数,最多循环n-1轮(可以少但不会多)
     4 for i in range(len(a) - 1):
     5     # 对比的次数,第i轮就有i个数确定
     6     for j in range(len(a) - 1 - i):
     7         if a[j] > a[j + 1]:
     8             a[j], a[j + 1] = a[j + 1], a[j]
     9         else:
    10             pass
    11 print(a)
    12 <<<  [1, 2, 4, 7, 34, 89]
    1 解法2:逆向思维,递减
    2 a = [1, 7, 4, 89, 34, 2]
    3 for row in range(len(a)-1,0,-1):
    4     for col in range(row):
    5         if a[col]>a[col+1]:
    6             a[col],a[col+1] = a[col+1],a[col]
    7 print(a)
  • 相关阅读:
    网络流
    KMP算法
    光现象
    物理学习须知
    声现象
    常见物理量测量方法
    洛谷 P1373 小a和uim之大逃离
    洛谷 P1242 新汉诺塔
    电磁现象
    磁化
  • 原文地址:https://www.cnblogs.com/monica711/p/9804783.html
Copyright © 2020-2023  润新知