插入排序

插入排序:在已经排好序的一组数中插入一个新的值,从而得到一个新的值。

插入排序的原理:一组有序数组,初始时定义一个第一个记录自成一个有序序列,其余记录为无序序列。接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,直到最后一个记录插到有序序列中为止。

插入排序的时间复杂度是:O(n)

代码如下

<?php

class Insert
{
    public function insertSort($arr)
    {
        $count=count($arr);
        for($i=0;$i<$count-1;$i++){
           for($j=$count-1;$j>$i;$j--){ 
               if($arr[$i]>$arr[$j]){
                   list($arr[$j],$arr[$i])=[$arr[$i],$arr[$j]];
               }
           }
        }
        return $arr;
    }
}
  $arr=[1,5,8,6,7,9,3,4,2];
  $obj=new Insert();
  $data=$obj->insertSort($arr);
print_r($data);die;
?>

 

posted @ 2017-11-14 13:55  艳艳960208  阅读(104)  评论(0编辑  收藏  举报