• 冒泡排序和生成器


    冒泡排序-第一种方法

    def bubble_sort(num):
    for i in range(len(num) - 1):
    for j in range(len(num) - i - 1):
    if num[j] > num[j + 1]:
    num[j], num[j + 1] = num[j + 1], num[j]
    return num


    lis = [4, 2, 7, 33, 6]
    print(bubble_sort(lis))


    冒泡排序-第二种方法(优化)
    如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结束算法

    import random


    def bubble_sort(num):
    for i in range(len(num) - 1):
    exchange = False # 默认没有交换
    for j in range(len(num) - i - 1): # 比较一趟
    if num[j] > num[j + 1]:
    num[j], num[j + 1] = num[j + 1], num[j]
    exchange = True
    if not exchange: # 不交换了,证明是有序队列
    break


    data = list(range(20))
    random.shuffle(data)
    bubble_sort(data)
    print(data)

    冒泡排序-java代码

    生成器-(两种方法都可以执行生成器)
    方法一:

    def my_generator():
    print('生成器被执行!')
    yield 1 # 运行一次到这个位置,在执行从下面开始
    yield 2


    my = my_generator()
    print(next(my)) # 生成器用next执行
    print(next(my))
    print(next(my)) # 抛出StopIteration异常

    方法二:

    for i in my_generator():  # 循环这个方法也是执行生成器的过程,不会报错
    print(i)
  • 相关阅读:
    5. Fragment详解
    4. 2D绘制与控件绘制
    3、用继承和组合方式定制控件
    2、复杂布局实现
    1、android源代码下载与跟踪
    19、照相机技术
    18、GPS技术
    17、Wi-Fi Direct
    16、蓝牙技术
    15、NFC技术:使用Android Beam技术传输文件
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8194509.html
Copyright © 2020-2023  润新知