冒泡排序

131 阅读1分钟

冒泡排序(起泡法)

如果有 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;

}