首页 > 编程语言 > 详细

C语言实现冒泡排序代码

时间:2021-07-30 22:52:24      阅读:25      评论:0      收藏:0      [点我收藏+]

前言

冒泡排序法:通过重复的遍历元素然后比较相邻的两个元素大小交换位置实现的。

听说是一种比较简单的排序算法。

名字的由来听说是这样的:假设最小的值是数组最后的元素,然后通过该排序,每重复遍历一次该最小的元素会往前移动一个位置。

然后有点像有个泡泡在瓶子水底一直往上浮起来...

所以就冒泡呗。

至于该排序的算法复杂度。

嗯,请查其他资料吧。

本次采用C语言的方式实现。

代码实现

#include <stdio.h>

// 打印数组
void print(int *buf, int size)
{
    for (int i = 0; i < size; ++i)
    {
        printf("%d ", buf[i]);
    }

    printf("\n");
}

// 排序数组(从小到大)
void sort(int *buf, int size)
{
    for (int i = 0; i < size - 1; ++i)
    {
        for (int j = 0; j < size - 1 - i; ++j)
        {
            if (buf[j] > buf[j + 1]) //  1.[ > 从小到大 ]  2.[ < 从大到小 ]
            {
                int tmp = buf[j];
                buf[j] = buf[j + 1];
                buf[j + 1] = tmp;
            }
        }
    }
}

// 主函数
int main(int argc, char **argv)
{
    int buf[] = {33, 2, 3, 3, 2, 1, 1, 2, 3, 3, 1, 1, 1, 1, 1, 1}; // 源数组

    int size = sizeof(buf) / sizeof(int); // 数组大小

    print(buf, size); // 打印冒泡排序前数组

    sort(buf, size);  // 执行冒泡排序

    print(buf, size); // 打印冒泡排序后数组

    return 0;
}

调试结果

技术分享图片

结语

嗯。

好像是简单。

---End

C语言实现冒泡排序代码

原文:https://www.cnblogs.com/lvvou/p/15080941.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!