zoukankan      html  css  js  c++  java
  • PHP学习笔记十二【数组排序】

    <?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;
          }
      }
    ?>
  • 相关阅读:
    struct pack unpack
    读书笔记 第四章&第五章
    The Sieve of Eratosthens(爱拉托逊斯筛选法)
    2013年3月百度之星A题
    2013年3月百度之星B题
    好句子
    BFS 与 DFS
    记录本
    HDU 2028 如何计算最小公倍数?
    HDU 2015 偶数求和 解题报告
  • 原文地址:https://www.cnblogs.com/sumg/p/3940628.html
Copyright © 2011-2022 走看看