冒泡排序(六大排序)

冒泡排序

冒泡排序的特性总结:

1. 冒泡排序是一种非常容易理解的排序
2. 时间复杂度:O(N^2)
3. 空间复杂度:O(1)
4. 稳定性:稳定

动图分析:

代码实现:

cs 复制代码
Swap(int*p1,int*p2)
{
    int tmp = *p1;
    *p1=*p2;
    *p2=tmp;
}
void BubbleSort(int *a,int n)
{
    int end =n-1;
    int  exchange =0; 
    while(end>0)
    {
        for(int i=0; i< end;i++)
        {
            if(a[i]>a[i+1])
            {
                Swap(&a[i],&a[i+1]);
                exchange=1;
            }
            
        }
        if(exchange == 0)
        {
            break;
         }
       --end;
    }

}

这个博客如果对你有帮助,给博主一个免费的点赞就是最大的帮助❤

欢迎各位点赞,收藏和关注哦❤

如果有疑问或有不同见解,欢迎在评论区留言哦❤

后续我会一直分享双一流211西北大学软件(C,数据结构,C++,Linux,MySQL)的学习干货以及重要代码的分享

相关推荐
SilentSamsara2 小时前
生成器完全指南:`yield` 与惰性求值的工程价值
linux·开发语言·python·算法·机器学习·青少年编程
玛卡巴卡ldf2 小时前
【LeetCode 手撕算法】(二分查找)搜索插入位置、搜索二维矩阵、查找数组相同的所有位置、搜索旋转排序数组、旋转升序数组的最小值
数据结构·算法·leetcode
谷雨不太卷10 小时前
进程的状态码
java·前端·算法
顾温10 小时前
default——C#/C++
java·c++·c#
InCerry10 小时前
.NET性能优化:提升Apache Arrow读写性能
c#·.net周刊
凉茶钱10 小时前
【c语言】动态内存管理:malloc,calloc,realloc,柔性数组
c语言·c++·vscode·柔性数组
散峰而望10 小时前
【算法竞赛】C/C++ 的输入输出你真的玩会了吗?
c语言·开发语言·数据结构·c++·算法·github
小龙报10 小时前
【C语言】内存里的 “数字变形记”:整数三码、大小端与浮点数存储真相
c语言·开发语言·c++·创业创新·学习方法·visual studio
躺不平的理查德10 小时前
时间复杂度与空间复杂度备忘录
数据结构·算法
yaki_ya10 小时前
yaki-C语言:从概念基础到内存解析---数组(array)完全指南
java·c语言·算法