代码学习过程中总结一下起泡排序法。
起泡排序法的基本思路:每次将相邻的两个数进行比较,将小的调到前头。
若有6个数:9,8,5,4,2,0
第一次先将最前面的两个数8和9对调,第二次将第二个和第三个数(9和5对调)……如此一共进行五次,得到8,5,4,2,0,9的顺序。
可以看到,大数已沉底,而小数上升。最小的数0已向上浮起一个位置,经过一次比较已经得到最大的数9。
然后进行第二趟比较,对余下的五个数进行新一次的比较。(8,5,4,2,0)进行新一轮的比较,以便使第二大的数沉底。按以上方法进行第二次比较。得到第二大的数8。
按此规律,可以推知,对六个数要比较五次,才能使六个数按大小顺序排列。
第一趟要比较5次,第二趟比较4次……第五趟比较1次。
规律:如果有n个数,则要进行n-1次比较。在第一趟比较中药进行n-1次两两比较,在第j趟比较中要进行n-j次两两比较。
我将起泡排序写成函数
#include
/*================&#