冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序。
一般情况下,称某个排序算法稳定,指的是当待排序序列中有相同的元素时,它们的相对位置在排序前后不会发生改变
比如要排序1,6,2,5,0,4这组数 且从小到大排列
我们来写一下这段代码 实现冒泡排序 然后我会对它进行一个优化
#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是因为每一轮都会筛选出一个最大的数 排除这个数可以提高循环效率
运行截图
网站标题:CV鼻祖洋芋
原创文章,作者:locus,如若转载,请注明出处:https://blog.cvpotato.cn/forward-code/c-2/104/
本博客所发布的内容,部分为原创文章,转载注明来源,网络转载文章如有侵权请联系站长!