Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP排序之冒泡排序

PHP排序之冒泡排序

小云云
小云云asal
2018-03-22 09:35:121707semak imbas

初学php,平时用到的算法很少,但是基本的几种算法还是要掌握的,比如冒泡排序。本文主要和大家分享PHP排序之冒泡排序,希望能帮助到大家。

需求:分别用冒泡排序法将下面数组中的值按照从小到的顺序进行排序。 
要排序的数组:$arr(1,34,555,63,21,66,32,78,36,76,25);
思路分析:法如其名,就是像冒泡一样,每次从数组当中冒一个最大的数出来。 

比如:
 *  2,4,1    // 第一次 冒出的泡是4 
 *  2,1,4    // 第二次 冒出的泡是 2 
 *  1,2,4    // 最后就变成这样

<?php
/* 
 * 冒泡排序
 * 按照从小到的顺序进行排序
 * date 2017-1-20
 * author 疯狂老司机
 */
$arr=array(1,34,555,63,21,66,32,78,36,76,25);
function bubble_sort($arr)
{  
    $len=count($arr);
    //设置一个空数组 用来接收冒出来的泡
    //该层循环控制 需要冒泡的轮数
    for($i=1;$i<$len;$i++)
    { //该层循环用来控制每轮 冒出一个数 需要比较的次数
        for($k=0;$k<$len-$i;$k++)
        {
            if($arr[$k]>$arr[$k+1])
            {
                $tmp=$arr[$k+1];
                $arr[$k+1]=$arr[$k];
                $arr[$k]=$tmp;
            }
        }
    }
    return $arr;
}
?>


相关推荐:

php冒泡排序基础讲解

JavaScript中的冒泡排序详解

Js冒泡排序与快速排序实详解

Atas ialah kandungan terperinci PHP排序之冒泡排序. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP堆排序实现代码Artikel seterusnya:PHP之Serializable序列表接口详解