php实现插入排序

前端之家收集整理的这篇文章主要介绍了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] < $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 %s\n",implode(" ",$a));
echo sprintf("Sorted list %s\n",insertSort($a)));

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

猜你在找的PHP相关文章