PHP插入排序

发布时间:2019-08-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP插入排序脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
冒泡排序

数组$arr = [9,7,2,77,31]按从小到大进行排序

$arr = [9,7,2,77,31];
$length = count($arr);
for($i=1;$i<$length;$i++)
{
    $tmp = $arr[$i];
    for ($j=$i-1;$j>=0;$j--)
    {
        if($tmp<$arr[$j])
        {
            $arr[$j+1] = $arr[$j];
            $arr[$j] = $tmp;
        }
        else
        {
            break;
        }
    }
   
}
PRint_r($arr);
得到结果
Array
(
    [0] => 2
    [1] => 7
    [2] => 9
    [3] => 31
    [4] => 77
)

比较,逻辑大致是这样的。默认第一个元素是最小值,所以从第二个元素开始一次与前面的元素进行比较,插入到合适的位置

  • i=1

    • j=0 时;将79进行比较。发现79小,交换位置,此时得到数组[7,9,2,77,31]
  • i=2

    • j=1时;将29进行比较。发现29小,交换位置,此时得到数组[7,2,9,77,31]
    • j=0时;将27进行比较。发现27小,交换位置,此时得到数组[2,7,9,77,31]
  • i=3

    • j=2时;将779进行比较。发现779大,跳出本次循环,此时数组依然为[2,7,9,77,31]
  • i=4

    • j=3时;将3177进行比较。发现3177小,交换位置,此时得到数组[2,7,9,31,77]
    • j=2时;将931进行比较。发现319大,跳出本次循环,此时数组依然为[2,7,9,31,77]

脚本宝典总结

以上是脚本宝典为你收集整理的PHP插入排序全部内容,希望文章能够帮你解决PHP插入排序所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。