说起冒泡排序,大家对这个名词一定很熟悉,接触过的人都知道,这是我们很常见的一个知识点,也是我们笔试出现频率很高的一个题,那下面我们一起来聊聊冒泡排序。
冒泡排序的原理:
1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上
2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置
3)重复上述过程,共经过n-1趟冒泡排序后,排序结束
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; }
复制代码我们分析问题要结合图示,这样理解起来更快哦。