算法回顾之 冒泡排序

简介: 算法回顾之 冒泡排序

最简单的算法,今天再写一下

笔者学习算法走了误区,一开始的游戏急于求成,并没有真正理解算法,就网上抄一个,以为自己会了,工作这么多年,发现走了弯路了,算法的学习不能死记硬背,必须根据算法原理,自己脑子思考得出代码,这样才是真正理解了算法,也活学活用

void BubbleSort(int *a,int n){
    int t = 0;
    for(int i=0;i<n-1;i++)
    {
        for(int j=0;j<n-1-i;j++)
        { 
            if(a[j]>a[j+1])
            {
                int tmp = a[j];
                a[j] = a[j+1];
                a[j+1] = tmp;
            }
        }
    }
}
int _tmain(int argc, _TCHAR* argv[])
{
    int a[] = {7,9,1,6,2,5,8};
    int n = sizeof(a)/sizeof(a[0]);
    BubbleSort(a,n);
    for(int i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}
相关文章
|
8天前
|
搜索推荐 算法 Python
python实现冒泡排序算法
python实现冒泡排序算法
28 0
|
8天前
|
机器学习/深度学习 存储 算法
【算法基础】常数操作 时间复杂度 选择排序 冒泡排序 插入排序 位运算
【算法基础】常数操作 时间复杂度 选择排序 冒泡排序 插入排序 位运算
|
8天前
|
搜索推荐 算法 C#
【Unity 3D】C#中冒泡排序、选择排序、插入排序等算法的详解(附源码 超详细)
【Unity 3D】C#中冒泡排序、选择排序、插入排序等算法的详解(附源码 超详细)
59 1
|
8天前
|
搜索推荐 算法 Java
sort-01-bubble sort 冒泡排序算法详解
这是一个关于排序算法的系列文章摘要。作者整理了10种不同的排序算法,包括冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序、归并排序、计数排序、桶排序和大文件外部排序。文章详细介绍了冒泡排序的工作原理、流程,并提供了代码实现,强调了在实现中考虑的改进点,如统一接口、实用性增强和日志输出。此外,还提供了一个排序接口和工具类以方便使用,并通过测试代码和日志展示了排序过程。整个系列旨在帮助读者理解和掌握排序算法。相关代码已开源在GitHub。
|
8天前
|
存储 算法 搜索推荐
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
|
8天前
|
搜索推荐 算法 Java
Java基础(冒泡排序算法)
Java基础(冒泡排序算法)
20 3
|
8天前
|
搜索推荐 算法 C语言
C语言实现冒泡排序算法
C语言实现冒泡排序算法
25 0
|
8天前
|
搜索推荐 C#
C#实现冒泡排序算法
C#实现冒泡排序算法
21 0
|
8天前
|
搜索推荐 Python
Python 实现冒泡排序算法
Python 实现冒泡排序算法
11 0
|
8天前
|
搜索推荐 算法
在冒泡排序算法中,为什么每次比较相邻的元素时都要进行交换?
【2月更文挑战第8天】【2月更文挑战第21篇】在冒泡排序算法中,为什么每次比较相邻的元素时都要进行交换?