说起冒泡排序,大家对这个名词一定很熟悉,接触过的人都知道,这是我们很常见的一个知识点,也是我们笔试出现频率很高的一个题,那下面我们一起来聊聊冒泡排序。

冒泡排序的原理:

1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上

2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置

3)重复上述过程,共经过n-1趟冒泡排序后,排序结束

forum.jpg


C代码:

#include
  • int main()
  • {
  • int a[11],i,j,t;
  • printf("Input 10 numbers:\n");
  • for(i = 1; i < 11; i++)
  • scanf("%d",&a[i]);
  • printf("\n");
  • for(j = 1; j <= 9; j++)
  • {for(i = 1; i <= 10 - 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 = 1; i < 11; i++)
  • printf("%d ",a[i]);
  • return 0;
  • }
  • 复制代码

    我们分析问题要结合图示,这样理解起来更快哦。