当前位置:首页python > 正文

野牛程序员讲少儿编程之冒泡排序:Python 版,轻松学会排序!

作者:野牛程序员:2025-03-14 09:55:32python阅读 2125
野牛程序员讲少儿编程之冒泡排序:Python 版,轻松学会排序!

🚀 野牛程序员讲少儿编程之冒泡排序:Python 版,轻松学会排序!🎈

👶 适合孩子学习的冒泡排序讲解,通俗易懂,边玩边学!


🌊 什么是冒泡排序?

冒泡排序(Bubble Sort)是一种非常简单的排序算法,它的原理就像水里的气泡一样,大的气泡会慢慢往上浮,小的气泡会留在下面。
在数字排序里,就是大的数字会往后移动,最终变成从小到大的顺序! 📈


🎯 冒泡排序的工作原理

  1. 两两比较相邻的数字,如果前面的比后面的,就交换它们的位置。

  2. 一轮循环后,最大的数字会“冒泡”到最后

  3. 重复这个过程,直到所有的数字都排好序。


📌 Python 代码示例:冒泡排序

1
2
3
4
5
6
7
8
9
10
11
12
def bubble_sort(arr):
    = len(arr)
    for in range(n - 1):  # 控制排序轮数
        for in range(n - 1 - i):  # 逐个比较相邻元素
            if arr[j] > arr[j + 1]:  # 如果前面的数比后面的大,交换
                arr[j], arr[j + 1= arr[j + 1], arr[j]
 
# 测试
numbers = [529156]
print("排序前:", numbers)
bubble_sort(numbers)
print("排序后:", numbers)

🧐 野牛程序员代码解析

  • 外层循环 for i in range(n - 1) :控制排序的轮数,每一轮都会把一个最大的数放到最后。

  • 内层循环 for j in range(n - 1 - i) :让大的数慢慢“冒泡”到后面。

  • 交换 arr[j], arr[j + 1] = arr[j + 1], arr[j] :如果前面的数比后面的大,就互换位置。

🎮 试试看!

如果输入:

1
numbers = [529156]

执行后,输出:

1
2
排序前: [529156]
排序后: [125569]

大数字自己乖乖地跑到后面去了!🏃‍♂️💨


💡 野牛程序员进阶优化

普通的冒泡排序每次都遍历整个数组,有时候排序已经完成但程序还在继续。可以加个标志位 swapped,如果一轮下来没有发生交换,就可以提前停止,提高效率!🚀

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def optimized_bubble_sort(arr):
    = len(arr)
    for in range(n - 1):
        swapped = False  # 标记是否发生交换
        for in range(n - 1 - i):
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1= arr[j + 1], arr[j]
                swapped = True  # 发生交换,标记为 True
        if not swapped:  # 如果一轮下来没有交换,说明已经有序
            break
 
# 测试优化版
numbers = [3141592]
print("排序前:", numbers)
optimized_bubble_sort(numbers)
print("排序后:", numbers)

这样可以减少不必要的比较,让排序更快!🎯


🎉 野牛程序员总结

  • 冒泡排序是最简单的排序方法之一,适合初学者练习 Python 的基本语法循环逻辑

  • 学会了这个,还可以继续学习选择排序快速排序,挑战更高难度的算法!🚀

  • 试着自己写一遍代码,把自己的名字用字母排序,看看效果吧!💡


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 野牛程序员讲少儿编程之冒泡排序:Python 版,轻松学会排序!
  • 相关推荐

    最新推荐

    热门点击