分享

php选择排序法

 gearss 2016-05-28

1、选择排序法实例详解:

  1. <html>  
  2. <head>  
  3. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />  
  4. </head>  
  5. <body>  
  6.   
  7. <?php   
  8. //忽略notice级错误提示  
  9. //error_reporting(E_ALL^E_NOTICE);   
  10. ?>  
  11. <?php   
  12. /* 选择排序法的思路:就是再第一次循环中,假设第一个数是最小的;然后跟第二个数比较,一直比到最后,找出最小值,然后把最小值跟第一个数的位置互换;再进行下一次循环,找出最小值跟第二个位置的数互换;一直循环数组的个数减去1次;数组就成了有序的了 */  
  13. //用函数封装选择排序法  
  14. function selectSort(&$arr)    
  15. //注意此处要加地址传递符号;因为数组默认传递的是值,不是地址;若不地址传递,排序的是$arr而不是$asd。  
  16. {  
  17.     //$arr = array(1,5,3,9,4,8,12,3,0,7,7.6,3.4,6);  
  18.     //定义一个中间变量  
  19.     $temp = 0;  
  20.     //升序排序  
  21.     for($i=0;$i<count($arr)-1;$i++)  
  22.     {  
  23.         //假设$i就是最小的数  
  24.         $minVal=$arr[$i];  
  25.         //记录我认为最小数的下标  
  26.         $minIndex=$i;  
  27.         for($j=$i+1;$j<count($arr);$j++)  
  28.         {   //如果我认为的最小值不是最小  
  29.             if($minVal>$arr[$j])  
  30.             {  
  31.                 $minVal = $arr[$j];  
  32.                 $minIndex = $j;  
  33.             }  
  34.         }  
  35.         //最后交换  
  36.         $temp = $arr[$i];  
  37.         $arr[$i] = $arr[$minIndex];  
  38.         $arr[$minIndex] = $temp;  
  39.     }     
  40. }  
  41. $asd = array(1,0,2,9,3,8,4,7,5,6);  
  42. //调用选择排序法的函数  
  43. selectSort($asd);  
  44. //输出排序后数组  升序显示  
  45. foreach($asd as $key=>$key_value)  
  46. {  
  47.     echo '$asd['.$key."]=".$key_value."<br>";  
  48. }  
  49. ?>  
  50. </body>  
  51. </html>  


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多