欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

气泡排序(超级详细)--升序",从小到大;另一种是 "降序",从大到小。该主题可抽象为 "按升序对 n 个数字排序 "的一般形式。 排序是一种重要的基本算法。排序的方法有很多种,但在本题中我们将使用冒泡排序法。 冒泡法的基本思想 冒泡法的基本思想是,每次比较相邻的两个数字时,较小的那个会被移到前面。如果有 5 个数字9,8,5,2,0,第一次将前两个数字 8 和 9 互换。第二次将第二个和第三个数字(9 和 5)对调......这样一共对调 4 次,得到 8-5-2-0-9 的顺序,可以看到:最大的数字 9 一直在 "下沉",成为最下面的一个数字,而小的数字 "上升" 最小的数字 "上升"。最小的数字 0 已经向上 "浮 "了一个位置。经过第一次比较(共 4 次比较和交换),得到了最大的数字 9。 然后进行第二趟比较,对剩下的前 4 个数字(8、5、2、0)进行新一轮比较,这样第二个最大的数字就 "沉到了底部"。同样,按照上述方法进行第二轮比较。经过 3 次比较和交换,我们得到了第二大数 8。

最编程 2024-04-19 09:26:17
...

程序实现

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void BubbleSort(int , int );//函数声明
int main()
{
    int array[100] ;
    int i;
    printf("请输入5个数字:");
    for (i = 0; i < 5; i++)
    {
        scanf("%d", &array[i]);
    }
        
	BubbleSort(array, 5);//调用函数
    printf("排序后为:");
    for (i = 0; i < 5; i++)
    {
        printf("%d ", array[i]);//排序后输出
    }
    return 0;
}
//冒泡排序
void BubbleSort(int array[], int size)
{
    // 外层循环控制冒泡排序的趟数
    // size-1表示:最后一趟区间中只剩余1个元素,该趟冒泡可以省略
    for (int i = 0; i < size - 1; i++)
    {
        // 具体冒泡的方式:用相邻的两个元素进行比较,前一个大于后一个元素时,交换着两个数据,依次直到数组的末尾
        for (int j = 1; j < size - i; j++)
        {
            if (array[j - 1] > array[j])
            {
                int temp = array[j - 1];
                array[j - 1] = array[j];
                array[j] = temp;
            }
        }
    }
}

运行一下看看
在这里插入图片描述
是我们想要的效果啦!

以上就是我总结的冒泡排序法。
如有不足之处,欢迎指正。
如果对你有帮助,那就动动你的手指,给我点个赞????吧!
主页还有其他文章,欢迎学习指正。
关注我,让我们一起学习一起成长吧!请添加图片描述

推荐阅读