yangzailu

导航

插入排序法

<?php
//插入排序法(小->大)
function insertSort(&$arr){
    //先默认下标为0的这个数已经是有序的,所以从1开始
   for($i=1;$i<count($arr);$i++){
       //$indexVal是准备插入的数
      $insertVal=$arr[$i];
      //准备先和 $insertIndex比较
      $insertIndex=$i-1;
      //如果这个条件满足,说明我们还没有找到适当的位置
      while( $insertIndex>=0&& $insertVal<$arr[$insertIndex]){
          //同时把数后移一下
          $arr[$insertIndex+1]=$arr[$insertIndex];
          $insertIndex--;

      }
      //插入(这时就给$insertVal找到适当位置)

      $arr[$insertIndex+1]=  $insertVal;
}
}
$arr=array(0,5,-1,98,-35);
insertSort($arr);
print_r($arr);

 

posted on 2016-08-31 09:39  飞离地平线  阅读(157)  评论(0编辑  收藏  举报