PHP基础算法之插入排序法

本文介绍了一种使用PHP实现的插入排序算法,并提供了一个具体的排序示例。通过该示例可以直观地理解插入排序的工作原理及其流程。
<?php 
function insert_sort($arr)
{
//插入排序法
$len=count($arr);
    for($i=1; $i<$len; $i++) {
    //获得当前需要比较的元素值。
    $tmp = $arr[$i];
        //内层循环控制 比较 并 插入
        for($j=$i-1; $j>=0; $j--) {
            //$arr[$i];//需要插入的元素; $arr[$j];//需要比较的元素
            if($tmp < $arr[$j]) {
            //发现插入的元素要小,交换位置
            //将后边的元素与前面的元素互换
            $arr[$j+1] = $arr[$j];
            //将前面的数设置为 当前需要交换的数
            $arr[$j] = $tmp;
            } else {
            //如果碰到不需要移动的元素
            //由于是已经排序好是数组,则前面的就不需要再次比较了。
            break;
            }
        }
    }
//将这个元素 插入到已经排序好的序列内。
//返回
return $arr;
}

$arr=array(54,1,43,62,21,66,32,78,36,76,0,17,39,-1);
echo '<pre>';
print_r(insert_sort($arr));

 ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值