冒泡排序(起泡法)
如果有 n 个数,则要进行 n-1 趟比较。在第j趟比较中要进行 n-1-j 次两两比较。
例题:有10个地区的面积,要求对他们按由小到大的顺序排列。
( 分析:需要进行9趟比较,每趟进行9-j次比较)
#include<stdio.h>
int main()
{
int a[10]; //定义10个数
int i,j,t;
printf("please input ten numbers\n"); //输入10个数
for(i=0,i<10,i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++) //进行9趟比较
for(i=0;i<9-j;i++) //每趟中进行9-j次比较
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("由小到大排列为:\n");
for(i=1;i<10;i++)
printf("%d\n",a[i]);
return 0;
}