加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php实现插入排序

发布时间:2020-12-12 20:48:09 所属栏目:PHP教程 来源:网络整理
导读:div class="jb51code" pre class="brush:xhtml;" ?php /** 插入排序 @param Array $a 无序集合 @return Array 有序集合 */ function insertSort($a) { $temp; $i; $j; $size_a = count($a); 从第二个元素开始 for ($i = 1; $i $size_a; $i++) { if ($a[$i] $

<div class="jb51code">
<pre class="brush:xhtml;">
<?php
/**

  • 插入排序

  • @param Array $a 无序集合

  • @return Array 有序集合
    */
    function insertSort($a) {
    $temp;
    $i;
    $j;
    $size_a = count($a);

    从第二个元素开始

    for ($i = 1; $i < $size_a; $i++) {
    if ($a[$i] < $a[$i-1]) {
    $j = $i; # 保存当前元素的位置
    $temp = $a[$i]; # 当前元素的值

    比较左边的元素,如果找到比自己更小的,向右移动元素,否则插入元素到当前位置

    while($j>0 && $temp<$a[$j-1]) {
    $a[$j] = $a[$j-1];
    $j--;
    }

    插入元素

    $a[$j] = $temp;
    }
    }
    return $a;
    }
    /**

  • 获取随机数

  • @param Integer $size 数量

  • @return Integer
    */
    function randomNumber($size = 10) {
    $rand = array();
    srand(time(NULL));
    for ($i = 0; $i < $size; $i++) {
    array_push($rand,mt_rand(0,1000));
    }
    return $rand;
    }

$a = randomNumber();
echo sprintf("Unsorted list %sn",implode(" ",$a));
echo sprintf("Sorted list %sn",insertSort($a)));

以上就是本文所述的全部内容了,希望大家能够喜欢。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读