天天看点

冒泡法与沉底法的应用

输入10个地区的面积(面积为整数),对它们由小到大排序。

冒泡法:

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main(int argc, char* argv[])

{

int a[10];

int i,j,t;

printf("请输入10个面积:\n");

for (i = 0; i <= 9; i++)

 scanf("%d", &a[i]);

for(i=0;i<=8;i++)

 for(j=i+1;j<=9;j++)

  if (a[i] > a[j])

  {

   t = a[i];

   a[i] = a[j];

   a[j] = t;

  }

printf("排序后的面积依次为:\n");

for (i = 0; i <= 9; i++)

 printf("%d\t" ,a[i]);

printf("\n");

return 0;

}

沉底法:

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main(int argc, char* argv[])

{

int a[10];

int i,j,t;

printf("请输入10个面积:\n");

for (i = 0; i <= 9; i++)

 scanf("%d", &a[i]);

for(j=0;j<=8;j++)

 for(i=0;i<=8-j;i++)

  if (a[i] > a[i + 1])

  {

   t = a[i];

   a[i] = a[i + 1];

   a[i + 1] = t;

  }

printf("排序后的面积依次为:\n");

for (i = 0; i <= 9; i++)

 printf("%d\t" ,a[i]);

printf("\n");

return 0;

}

结果展示: