从键盘中输入6个数据,存放到a[0]到a[5]中的6个数组元素中
1.第一轮从a[0]到a[5]依次把相邻的元素两两比较,即a[0]与a[1]比,a[1]与a[2]比.....,a[4]与a[5]比
2.每次相邻元素比较后,若顺序不对,则交换两个元素的值,否则不交换。
#include<stdio.h>
#define N 6
int main()
{
int i,j,t,a[N];
printf("请输入%d个整数;\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=0;i<N;i++)
for(j=0;j<N-i-1;j++)
if(a[j]>a[j+1])
{t = a[j];a[j] = a[j+1], a[j+1] = t;}
printf("排序之后:\n");
for(i = 0; i<N; i++)
printf("%3d",a[i]);
return 0;
}
冒泡排序的特点:升序排序中每一轮都会把最大的数沉到最底,所以相互比较的次数每一轮都会比前一轮减少一次。
总结:冒泡排序法是把N个数通过N-1轮排序,升序排序中,大的往下沉,小的往上浮。降序排序中,小的往下沉,大的往上浮。