冒泡排序(LOW)

冒泡排序,low · 浏览次数 : 4

小编点评

## 编程技巧:随机排序算法 以下是代码的归纳总结: ```python def bubble_sort(li): for i in range(len(li)-1): exchange = False for j in range(len(li)-i-1): if li[j] > li[j+1]: li[j], li[j+1] = li[j+1], li[j] exchange = True if not exchange: returnli = list(range(100)) ``` **解释:** 1. `bubble_sort` 函数使用一个外循环 `i` 和一个内循环 `j` 遍历数组。 2. 在外循环中,它使用内循环 `j` 检查元素是否大于下一个元素。 3. 如果 `li[j]` 大于 `li[j+1]`, 则交换元素并标记 `exchange` 为 True。 4. 循环结束后,如果 `exchange` 为 False,则说明数组已排序,因此它返回排序后的数组。 5. 如果 `exchange` 为 True,则说明元素已经排序,因此它将元素排列为降序。 **总结:** 该代码通过不断交换元素来对数组进行排序。由于该算法会破坏原数组的顺序,因此最终排序后的数组可能与输入数组的顺序不同。

正文

博客地址:https://www.cnblogs.com/zylyehuo/

# _*_coding:utf-8_*_

import random

def bubble_sort(li):
    for i in range(len(li)-1):
        exchange = False
        for j in range(len(li)-i-1):
            if li[j] > li[j+1]:
                li[j], li[j+1] = li[j+1], li[j]
                exchange = True
        if not exchange:
            return


li = list(range(100))
random.shuffle(li)
print(li)
bubble_sort(li)
print(li)

与冒泡排序(LOW)相似的内容: