站长资讯网
最全最丰富的资讯网站

在PHP中如何使用冒泡排序?

上篇文章给大家介绍了《PHP中什么是错误处理?错误代号?错误触发?》,本文继续给大家介绍在PHP中如何使用冒泡排序?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

在PHP中如何使用冒泡排序?

数组排序算法.

冒泡排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。

它重复地走访边要排序的数列,-次比较两个元素,如果他们的顺序错误就把他们交换过来。

走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成

冒泡排序的算法思路:。

1)比较相邻的元素。 如果第一一个比第二个大,就交换他们两个。。

2)对每一对相邻元素作同样的工作,从开始第-对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3)针对所有的元素重以上的步骤,除了最后一个。。

4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

首先我们先定义一个数组,然后我们想办法把最大的值放在最右边去,我们使用for循环,我们以代码为例,如下:

<?php  //数组排序算法:冒泡排序 $arr = array(1,4,2,9,7,5,8); //想办法将最大的值放到最右边去 for($j =0,$len = count($arr); $j < $len - 1;$j++){ //判断:两两相比 if($arr[$j] > $arr[$j+1]){ //左边比右边大:交换 $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp;  } } echo '<pre>'; print_r($arr);

运行结果如下:

在PHP中如何使用冒泡排序?

那么此时我们该如何让上述代码在运行一次,我们让下面可以每次找出最大值的代码重复执行。

<?php  //数组排序算法:冒泡排序 $arr = array(1,4,2,9,7,5,8); for($i=0,$len = count($arr);$i < $len;$i++){ //想办法将最大的值放到最右边去 for($j =0,$len = count($arr); $j < $len - 1;$j++){ //判断:两两相比 if($arr[$j] > $arr[$j+1]){ //左边比右边大:交换 $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp;  } } echo '<pre>'; print_r($arr); }

运行结果如下:

在PHP中如何使用冒泡排序?

推荐学习:《PHP视频教程》

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号