码迷,mamicode.com
首页 > Web开发 > 详细

PHP学习笔记十二【数组排序】

时间:2014-08-28 00:42:38      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   for   ar   div   cti   log   

<?php
 $arr=array(0,5,-1);
 $temp=0;
 for($i=0;$i<count($arr)-1;$i++)
 {
    for($j=0;$j<count($arr)-1-$i;$j++)
    {
       if($arr[$j]>$arr[$j+1])
       {
          $temp=$arr[$j];
          $arr[$j]=$arr[$j+1];
          $arr[$j+1]=$temp;
       }
    }
  }
 foreach($arr as $val)
 {
     echo "<br>".$val;
 }
   selectSort($arr);
   print_r($arr);
   InsertSort($arr); 
   print_r($arr);
 
 //选择排序
 function selectSort(&$arr)
 {
         $temp=0;
         for($i=0;$i<=count($arr)-1;$i++)
         {
             //假设$i就是最小的数
             $minval=$arr[$i];
             //记录我认为的最小数的下标
             $minIndex=$i;
             for($j=$i+1;$j<count($arr);$j++)
             {
                //说明我们认为的最小值,不是最小
                if($minval>$arr[$j])
                {
                  $minval=$arr[$j];
                  $minIndex=$j;
                }
                //最后进行交换
                $temp=$arr[$i];
                $arr[$i]=$arr[$minIndex];
                $arr[$minIndex]=$temp;
             }
             
         }
 }
 
  //插入排序
  function InsertSort(&$arr)
  {
     //先默认下标为0这个数已经有序
      for($i=0;$i<count($arr);$i++)
      {
      //$insertVal是准备插入的数
         $insertVal=$arr[$i];
         //准备先和$insertIndex比较
         $inserIndex=$i-1;
         //如果这个条件满足,说明,我们还没有找到合适的位置
         while($inserIndex>0&&$insertVal<$arr[$inserIndex])
         {
           //同时把数后移
           $arr[$inserIndex+1]=$arr[$inserIndex];
           $inserIndex--;
           
         }
         //插入(这时就给$insertVal找到适当的位置)
         $arr[$inserIndex+1]=$insertVal;
      }
  }
?>

 

PHP学习笔记十二【数组排序】

标签:style   blog   color   io   for   ar   div   cti   log   

原文地址:http://www.cnblogs.com/sumg/p/3940628.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!