冒泡排序(简单概叙)
原创
©著作权归作者所有:来自51CTO博客作者不啻天下的原创作品,请联系作者获取转载授权,否则将追究法律责任
#include <stdio.h>
void bubble_sort (int a[],int c)
{
int e=0;
for (e=0;e<c-1;e+=1)
{
int h=0;
int f=0;
for(f=0;f<c-1-e;f+=1)
{
if (a[f]>a[f+1])//如果换成变量e会怎么样?
{
int g=a[f];
a[f]=a[f+1];
a[f+1]=g;
h=0;
}
}
if (h==1)
{
break;
}
}
}
int main ()
{
int a[]={9,8,7,6,5,4,3,2,1,0};
//int b=0;
int c=0 ;
c=sizeof(a)/sizeof(a[0]);
bubble_sort(a,c);
int d=0;
for (d=0;d<c;d++)
{
printf("%d\n",a[d]);
}
return 0;
}
- 如代码所示,该程序意为将数组a内的元素进行排列,输出以小至大的结果。
- 从上到下,使用了定义一个新函数的方法来实现这个结果。
- 简单的定义了一个新函数,以“void 函数名 (){}”的形式定义了下来。
- 在函数内写上关于构建冒泡排序的逻辑代码。
- 冒泡排序是一种算法,定义为对比相邻两个数的大小,若前者大于后者则调换位置,若后者大于前者则保持不动。
- 来到主函数main,通过简单的定义变量和逻辑计算就能为冒泡排序提供数据以达到算法实现。
- 最后以printf输出,显而易见,设计成功。