冒泡排序

2023-10-11 20:59:46 浏览数 (2)

冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序。

代码语言:javascript复制
一般情况下,称某个排序算法稳定,指的是当待排序序列中有相同的元素时,它们的相对位置在排序前后不会发生改变

比如要排序1,6,2,5,0,4这组数 且从小到大排列

我们来写一下这段代码 实现冒泡排序 然后我会对它进行一个优化

代码语言:javascript复制
#include<stdio.h>
#define N 6
int main()
{
    int arr[6] = { 1,6,2,5,0,4 };
    int temp;
    for (size_t i = 0; i < N; i  )
    {
        for (size_t j = 0; j < N-1-i; j  )
        {
            if (arr[j]>arr[j 1])
            {
                temp = arr[j];
                arr[j] = arr[j   1];
                arr[j   1] = temp;
            }
        }
    }
    for (size_t k = 0; k < 6; k  )
    {
        printf("%d", arr[k]);
    }
}

内循环-i是因为每一轮都会筛选出一个最大的数 排除这个数可以提高循环效率 运行截图

0 人点赞