当前位置:首页C++ > 正文

野牛程序员讲少儿编程之冒泡排序 C++ 版:让数字自己游泳

作者:野牛程序员:2025-03-12 22:02:04C++阅读 2104
野牛程序员讲少儿编程之冒泡排序 C++ 版:让数字自己游泳

🚀 野牛程序员讲少儿编程之冒泡排序 C++ 版:让数字自己游泳🏊‍♂️

👶 适合孩子学习的冒泡排序讲解,简单易懂,一学就会!


🌊 什么是冒泡排序?

冒泡排序(Bubble Sort)是一种最简单最容易理解的排序算法。它的原理就像水里的气泡,大的气泡会慢慢往上浮,小的气泡在下面。最终,大的数字都会被“冒泡”到数组的最后,小的数字留在前面。


🎯 冒泡排序的核心思想

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

  2. 每一轮排序都会把最大的数冒泡到最后

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


📌 C++ 代码示例:冒泡排序

#include <iostream>
using namespace std;

void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) { // 外层循环控制排序轮数
        for (int j = 0; j < n - 1 - i; j++) { // 内层循环控制比较次数
            if (arr[j] > arr[j + 1]) { // 如果前面的数比后面的大,交换位置
                swap(arr[j], arr[j + 1]);
            }
        }
    }
}

void printArray(int arr[], int n) {
    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
}

int main() {
    int arr[] = {5, 2, 9, 1, 5, 6}; // 需要排序的数组
    int n = sizeof(arr) / sizeof(arr[0]);

    cout << "排序前: ";
    printArray(arr, n);

    bubbleSort(arr, n);

    cout << "排序后: ";
    printArray(arr, n);

    return 0;
}

🧐 代码解析

  • 外层循环 for (i = 0; i < n - 1; i++) :控制需要冒泡的轮数,每一轮都会把一个最大数放到最后。

  • 内层循环 for (j = 0; j < n - 1 - i; j++) :每轮循环都让大的数不断往后冒泡。

  • swap(arr[j], arr[j + 1]) :交换相邻的两个数,让更大的数向右移动。

🎮 试试看!

输入数组 5, 2, 9, 1, 5, 6,排序过程如下:

排序前: 5 2 9 1 5 6 
排序后: 1 2 5 5 6 9

大数字自己乖乖游到了后面!


🤔 怎么优化?

普通冒泡排序每次都遍历整个数组,其实有更聪明的方法:

  1. 加一个标志位 swapped,如果一轮排序中没有发生交换,说明已经有序,直接停止循环。

  2. 双向冒泡排序(鸡尾酒排序):前后双向比较,提高效率。


💡 结语

野牛程序员今天就讲到这里了,冒泡排序虽然简单,但却是孩子们学习排序算法的绝佳入门方式!🚀
学会了这个,再去挑战 选择排序快速排序归并排序,就会更轻松啦!🔥🔥🔥


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 野牛程序员讲少儿编程之冒泡排序 C++ 版:让数字自己游泳
  • 相关推荐

    最新推荐

    热门点击