zoukankan      html  css  js  c++  java
  • php几种常用的算法

      1 <?php
      2 
      3 // 选择排序
      4 
      5 function select_sort($arr)
      6 
      7 {
      8 
      9     $count = count($arr);
     10 
     11     for ($i = 0; $i < $count; $i ++) {
     12 
     13         $k = $i;
     14 
     15         for ($j = $i + 1; $j < $count; $j ++) {
     16 
     17             if ($arr[$k] > $arr[$j])
     18 
     19                 $k = $j;
     20 
     21             if ($k != $i) {
     22 
     23                 $tmp = $arr[$i];
     24 
     25                 $arr[$i] = $arr[$k];
     26 
     27                 $arr[$k] = $tmp;
     28 
     29             }
     30 
     31         }
     32 
     33     }
     34 
     35     return $arr;
     36 
     37 }
     38 
     39  
     40 
     41 // 插入排序
     42 
     43 function insert_sort($arr)
     44 
     45 {
     46 
     47     $count = count($arr);
     48 
     49     for ($i = 1; $i < $count; $i ++) {
     50 
     51         $tmp = $arr[$i];
     52 
     53         $j$i - 1;
     54 
     55         while ($arr[$j] > $tmp) {
     56 
     57             $arr[$j + 1] = $arr[$j];
     58 
     59             $arr[$j] = $tmp;
     60 
     61             $j;
     62 
     63         }
     64 
     65     }
     66 
     67     return $arr;
     68 
     69 }
     70 
     71 // 快速排序法
     72 
     73 function quick($array)
     74 
     75 {
     76 
     77     if (count($array) <= 1) {
     78 
     79         return $array;
     80 
     81     }
     82 
     83     $key = $array[0];
     84 
     85     $l = array();
     86 
     87     $r = array();
     88 
     89     for($i=1;$i {
     90 
     91         
     92 
     93         if ($array[$i] <= $key) {
     94 
     95             $l[] = $array[$i];
     96 
     97         } else {
     98 
     99             $r[] = $array[$i];
    100 
    101         }
    102 
    103     }
    104 
    105     
    106 
    107     $l = quick($l);
    108 
    109     $r = quick($r);
    110 
    111     return array_merge($l, array(
    112 
    113         $key
    114 
    115     ), $r);
    116 
    117 }
    118 
    119  
    120 
    121 //冒泡排序
    122 
    123 function maopao($arr)
    124 
    125 {
    126 
    127     $n = count($arr);
    128 
    129     for($j=0;$j<$n-1;$j++)
    130 
    131     {
    132 
    133         for($i=$j+1;$i<=$n-1;$i++) {
    134 
    135             if($arr[$j]>$arr[$i])
    136 
    137             {
    138 
    139                 $t = $arr[$i];
    140 
    141                 $arr[$i] = $arr[$j];
    142 
    143                 $arr[$j]=$t;
    144 
    145             }
    146 
    147         }
    148 
    149     }
    150 
    151     return $arr;
    152 
    153 }
  • 相关阅读:
    匿名函数
    Python基础练习题5
    for循环实现一个注册小案例
    Python基础练习题4
    Python集合
    Python基础练习题3
    Python 元组和字典
    Python PEP8规范与python之禅
    Python基础练习题2
    常见的排序之冒泡排序
  • 原文地址:https://www.cnblogs.com/tm2015/p/4729785.html
Copyright © 2011-2022 走看看