冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序。
代码语言: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是因为每一轮都会筛选出一个最大的数 排除这个数可以提高循环效率 运行截图