冒泡排序
基本思路:对于一组要排序的元素列,依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面,如此继续,直到比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成。
例子:数组Num[5]={9,6,7,3,1},要求将Num内的元素进行冒泡排序并打印出来。
分析:
过程:
Num[5]第一次进行一次整体的比较后,筛选出了9这个最大值后,后续的比较中,9不会进行比较.
Num[5]根据上次同样的步骤进行比较后,筛选出7后,后续的比较中,7不会进行比较.
Num[5]根据上次同样的步骤进行比较后,筛选出6后,后续的比较中,6不会进行比较.
当最后两个数完成比较后,本次排序结束。
过程总结:
排序轮数的总轮数是与元素的个数相关,排序的总轮数=元素个数-1(不包括与自己比较).
比较次数也是与元素的个数相关,每层比较的次数=元素个数-1
每进行一次排序轮数,就会筛选出一个最大值,并且本次筛选的最大值不会参与下一次排序的比较中,所以每进行一次排序轮数,都会少一个相对最大值,从而影响每一层的比较次数,每层比较次数=