摘要:
编程语言千千万,都离不开各种排序,比如比较典型的冒泡排序、快速排序、插入排序等,当然还有为之所动容的猴子排序、睡眠排序!!!本文只讲如何使用PHP实现冒泡排序的算法!
原理分析
本文使用的排序数组数据如下:$arr1 = array(18,22,12, 15,23,9);
冒泡排序大致过程:大致遍历一个数组,在此过程中,将相邻的两个单元的值进行比较(俩俩大小相比,左边比右边大就对换位置)
第一趟:如果前面的比后面的大,则将两个值交换位置。这个过程到最后,数组中的最大值一定放在最后位置了。
第二趟:如果将上述过程再进行一遍,则又可以确定剩余数据中的最大值放在倒数第二的位置。
第三躺:然后将上述过程继续进行一遍,则可以继续确定剩余数据中的最大值放在倒数第三的位置。
第N趟:依次类推。。。。。。进行若干次,就排好了。
下方图中所示为上面所列举的算法过程:
规律总结
1.要进行从头到尾两两比较并进行交换位置的趟数为$n-1趟,$n是总个数(数组长度)
2.每次都对相邻的两个数据进行大小比较,如果需要,就交换他们的位置!
3.每趟要比较的次数都比前一趟少1次,第一趟要