冒泡法是一种比较数组中数据大小的方法,基本思路是:每次将相邻两个数相比较,将小的调到前面。
例如:若有6个数:9,8,5,4,2,0 ;先由第一个数与第二个数比较,小的数在前;再由第二个数与第三个数比较,小的数在前······后面以此类推。六个数比较5次,将最大的数置换到最后。抛开最后一个最大数又开始进行新一轮比较重复上次的动作,将前面5个数的最大数找出来置换到倒数第二,五个数比较4次。后面重复以上动作,最后比较完成则完成排序。
代码如下:
#include<stdio.h>
int main()
{int a[6];int i,j,t;printf("input 6 numbers:\n");//输入一个6个数字的数组for(i=0;i<6;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<5;j++)//利用冒泡法来比较数组中数据的大小for(i=0;i<5-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the sorted numbers:\n");for(i=0;i<6;i++)printf("%d ",a[i]);printf("\n");return 0;
}
输入输出: