冒泡排序是比较经典的一种交换排序方法,但是它在工程中的使用不多,之适用于较小规模的数据。
冒泡排序主要是通过比较交换使得小数逐渐上浮,实现排序的。
例如:a[10]={3,5,6,7,1,2,9,0,4,8}
第一步:首先把数组中最小的放到第一个位置,
1:比较第9,10位数,小的放前边大的放后边
2:比较第8,9位数,小的放前边大的放后边
.....................
10:比较第1,2位数,小的放前边大的放后边
第二部:把后边的9个数中较小的放到第二个位置
1:比较第9,10位数,小的放前边大的放后边
2:比较第8,9位数,小的放前边大的放后边
.....................
9:比较第2,3位数,小的放前边大的放后边
第三部:把后边的8个数中较小的放到第三个位置
1:比较第9,10位数,小的放前边大的放后边
2:比较第8,9位数,小的放前边大的放后边
.....................
8:比较第3,4位数,小的放前边大的放后边
.....................................
第十部:把后边的8个数中较小的放到第三个位置
1:比较第9,10位数,小的放前边大的放后边
2:比较第8,9位数,小的放前边大的放后边
#include<stdio.h>
int main()
{
int a[10],TEMP;
int i,j;
for (i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for (i=0;i<10;i++)
{
for (j=9;j>i;j--)
{
if (a[j<a[j-1]])
{
TEMP=a[j];
a[j]=a[j-1];
a[j-1]=TEMP;
}
}
}
for (i=0;i<10;i++)
{
printf("the sorted number:%d\n",a[i]);
}
return 0;
}
结果如下: