本实例要求用冒泡法对9个数由小到大进行排序,冒泡法的基本思路是,如果要对 n 个数进行冒泡排序,那么要进行 n -1趟比较,在第1趟比较中要进行 n -1次两两比较,在第 j 趟比较中要进行 n - j 次两两比较。从这个基本思路中就会发现,趟数决定了两两比较的次数,这样就很容易将两个 for 循环联系起来了。
首先是用C语言进行实现:
#include<stdio.h>
int main()
{
int i, j, t ,a[10];
printf("请输入9个数:\n");
for (i = 1;i < 10;i++)
scanf_s("%d", &a[i]);
for(i=1;i<9;i++) // i 代表比较的趟数
for(j=1;j<10-i;j++) // j 代表了每趟两两比较的次数
if (a[j] > a[j + 1]) {
t = a[j];
a[j] = a[j + 1]; // 中间值实现两值交换
a[j + 1] = t;
}
printf("排序后的顺序是:\n");
for (i = 1;i <= 9;i++)
printf("%5d", a[i]);
printf("\n");
}
</