在php的排序方法中,有一种排序可以和生活中的理念结合在一起。我们观察泡泡往上升的时候,从下到上的泡泡是越来越大的,所以冒泡排序的理念正式如此,同时也是它名称的由来。下面我们就冒泡排序的概念和原理进行详细的介绍,然后带大家在实例中体会冒泡排序的用法。
1.冒泡排序概念
php冒泡排序法是计算机中的一种简单的排序算法。在对数组排序时会根据数组的长度重复的去比较数组中的值,如果顺序不对就把两个数据位置进行对调,一直比较到没有需要交换的值为止完成排序。
2.冒泡排序原理
(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。
(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是数。
(3)针对所有的元素重复以上的步骤,除了最后一个。
(4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
3.实例
<?php /* * 思路: * 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。 * 走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 */ function BubbleSort($arr){ $count = count($arr); $temp = 0; //外层控制排序轮次 for($i=0; $i<$count-1; $i++){ //内层控制每轮比较次数 for($j=0; $j< $count-1-$i; $j++){ if($arr[$j] > $arr[$j+1]){ $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; } } } return $arr; } $arr= array(6,3,8,2,9,1); $res = BubbleSort($arr); var_dump($res);
以上就是php冒泡排序的基本内容方法,相信大家已经对它的概念和原理有所理解,毕竟和我们生活中的理念非常切合。学会后就可以用冒泡排序的方法,解决一些数组的问题了。更多php学习指路: