冒泡排序的基本思想
冒泡排序是一种交换排序,它的基本思想是:相邻的两两元素互相比较,如果是反序则位置交换,直到没有反序为止。举一个比较通俗的例子:小时候我们都经历过高矮个排队,如果在排队的过程中我们使用冒泡排序的话,首先第一个同学会与他右边的同学比较身高,如果比右边高的话则两个人互换顺序,矮的话则保持不动,之后第二个位置的同学与他右边的同学比较,如此重复,如果有N个同学的话则第一趟排序需要进行N-1次比较,第一趟排序完成之后身高最高的同学会站在最右边,我们来画一张简单的示意图:
这是排序之前的队伍,首先先进行第一次的排序:
(1)一号位跟二号位比较,一号位比二号位高,双方互换位置。
(2)二号位与三号位比较,二号位比三号位高,双方互换位置。
(3)三号位与四号位比较,三号位比四号位高,双方互换位置。
这样就完成了第一次的排序,最高的会在最右边的四号位,如下图所示。
然后进行第二次排序:
(1)一号位跟二号位比较,一号位比二号位低,位置不变。
(2)二号位与三号位比较,二号位比三号位高,双方互换位置。
由于第一次排序中四号位已经是最高的了,所以三号位无需再与四号位进行比较。这样就完成了第二次的排序,具体顺序如下图所示。