php的插入算法

 1 <?php
 2 /**
 3 * 插入排序
 4 */
 5 class insterSort 
 6 {
 7     public function sort_out($sortNum){
 8         $length=count($sortNum);//計算數組長度
 9         for ($i=0; $i <$length ; $i++) { 
10             $temp=$sortNum[$i];//取出插入值
11             for ($j=$i-1; $j>=0; $j--) { //要注意這裏是大於等於零,這裏數組的下標是從0開始的
12                 if($temp<$sortNum[$j]){//對數組中元素位置進行替換
13                     $sortNum[$j+1]=$sortNum[$j];
14                     $sortNum[$j]=$temp;
15                 }
16                 else{
17                     break;
18                 }
19             }
20         }
21         return $sortNum;
22     }
23 
24 }
25 $insterSort=new insterSort();//將插入排序類實例化
26 $arr=["5","2","9","4","1"];//定義一個測試的數組
27 $res=$insterSort->sort_out($arr);//對測試數組進行排序
28 print_r($res);//輸出排序後的結果
相關文章
相關標籤/搜索