有一个序列:22,-9,8,12,9,0,55,6从小到大排序,用冒泡法经过三轮排序后,这8个数的顺序为:____________________________
答案:-9,8,0,9,6,12,22,55
冒泡法即将小的数向上排大的数向下排,每经过一轮,小的数就会向前走。
我们可以根据以下代码来直观感受一下冒泡排序法。
#include<stdio.h>
int main()
{
int a[8]={22,-9,8,12,9,0,55,6};//首先定义一个数组
int i,j,t,k;
for(i=0;i<8-1;i++)
{
for(j=0;j<8-i-1;j++) //利用双重for循环进行排序
{
if(a[j]>a[j+1])//如果前一个比后一个数大,将它们进行交换
{
t=a[j]; //定义一个中间数t
a[j]=a[j+1];
a[j+1]=t;
}
}
for(k=0;k<8;k++)
{
printf("%d ",a[k]);//每排序一次输出排序后的数
}
printf("\n");
}
}
输出结果为