冒泡排序(C语言)

cpp 复制代码
void BubbleSort(int arr[], int len)
{
    int i, j, temp;
    for (i = 0; i < len; i++)
    {
        for (j = len - 1; j >= i; j--)
        {
            if (arr[j] > arr[j + 1])
            {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

优化:

设置标志位flag,如果发生了交换flag设置为true(1);如果没有交换就设置为false(0)。

这样当一轮比较结束后如果flag仍为false,即:这一轮没有发生交换,说明数据的顺序已经排好,没有必要继续进行下去。

cpp 复制代码
void BubbleSort(int arr[], int len)
{
    int i, j, temp, flag = 1;
    for (i = 0; i < len && flag; i++)
    {
        flag = 0;
        for (j = len - 1; j >= i; j--)
        {
            if (arr[j] > arr[j + 1])
            {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
                flag = 1;
            }
        }
    }
}

时间复杂度:

相关推荐
睡醒了叭8 分钟前
图像分割-传统算法-区域分割
图像处理·人工智能·算法·计算机视觉
代码游侠23 分钟前
复习——网络基础知识
网络·笔记·网络协议·算法·http
沈阳信息学奥赛培训33 分钟前
CCF GESP 2025/12/24 模拟测试 C++ 4级 编程题2
数据结构·算法
dddddppppp12334 分钟前
c 模拟一个fat16文件系统
c语言·c++·算法
行走的bug...1 小时前
利用计算机辅助数学运算
人工智能·算法·机器学习
CoderCodingNo1 小时前
【GESP】C++五级真题(数论-素数、贪心思想考点) luogu-B4050 [GESP202409 五级] 挑战怪物
开发语言·c++·算法
小O的算法实验室1 小时前
2026年AEI SCI1区TOP,基于多策略集成粒子群算法+无人机平滑覆盖路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
小刘爱玩单片机1 小时前
【stm32简单外设篇】- 三色LED
c语言·stm32·单片机·嵌入式硬件
hope_wisdom1 小时前
C/C++数据结构之队列基础
c语言·数据结构·c++·队列·queue
不一样的故事1262 小时前
高速采集箱
算法·信号处理