<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                下面分享一些最常見的算法,用PHP如何實現。 1、冒泡排序 ``` function?bubble_sort($arr)?{ ????$n=count($arr);????for($i=0;$i<$n-1;$i++){????????for($j=$i+1;$j<$n;$j++)?{????????????if($arr[$j]<$arr[$i])?{ ????????????????$temp=$arr[$i]; ????????????????$arr[$i]=$arr[$j]; ????????????????$arr[$j]=$temp; ????????????} ????????} ????}????return?$arr; } ``` 2、歸并排序 ``` function?Merge(&$arr,?$left,?$mid,?$right)?{ ????$i?=?$left; ????$j?=?$mid?+?1; ????$k?=?0; ????$temp?=?array();????while?($i?<=?$mid?&&?$j?<=?$right)?{????????if?($arr[$i]?<=?$arr[$j]) ????????????$temp[$k++]?=?$arr[$i++];????????else ????????????$temp[$k++]?=?$arr[$j++]; ????}????while?($i?<=?$mid) ????????$temp[$k++]?=?$arr[$i++];????while?($j?<=?$right) ????????$temp[$k++]?=?$arr[$j++];????for?($i?=?$left,?$j?=?0;?$i?<=?$right;?$i++,?$j++) ????????$arr[$i]?=?$temp[$j]; }function?MergeSort(&$arr,?$left,?$right)?{????if?($left?<?$right)?{ ????????$mid?=?floor(($left?+?$right)?/?2); ????????MergeSort($arr,?$left,?$mid); ????????MergeSort($arr,?$mid?+?1,?$right); ????????Merge($arr,?$left,?$mid,?$right); ????} } ``` 3、二分查找-遞歸 ``` function?bin_search($arr,$low,$high,$value)?{????if($low>$high)????????return?false;????else?{ ????????$mid=floor(($low+$high)/2);????????if($value==$arr[$mid])????????????return?$mid;????????elseif($value<$arr[$mid])????????????return?bin_search($arr,$low,$mid-1,$value);????????else ????????????return?bin_search($arr,$mid+1,$high,$value); ????} } ``` 4. 二分查找-非遞歸 ``` function?bin_search($arr,$low,$high,$value)?{????while($low<=$high)?{ ????????$mid=floor(($low+$high)/2);????????if($value==$arr[$mid])????????????return?$mid;????????elseif($value<$arr[$mid]) ????????????$high=$mid-1;????????else ????????????$low=$mid+1; ????}????return?false; } ``` 5、快速排序 ``` function?quick_sort($arr)?{ ????$n=count($arr);????if($n<=1)????????return?$arr; ????$key=$arr[0]; ????$left_arr=array(); ????$right_arr=array();????for($i=1;$i<$n;$i++)?{????????if($arr[$i]<=$key) ????????????$left_arr[]=$arr[$i];????????else ????????????$right_arr[]=$arr[$i]; ????} ????$left_arr=quick_sort($left_arr); ????$right_arr=quick_sort($right_arr);????return?array_merge($left_arr,array($key),$right_arr); } ``` 6、選擇排序 ``` function?select_sort($arr)?{ ????$n=count($arr);????for($i=0;$i<$n;$i++)?{ ????????$k=$i;????????for($j=$i+1;$j<$n;$j++)?{???????????if($arr[$j]<$arr[$k]) ???????????????$k=$j; ????????}????????if($k!=$i)?{ ????????????$temp=$arr[$i]; ????????????$arr[$i]=$arr[$k]; ????????????$arr[$k]=$temp; ????????} ????}????return?$arr; } ``` 7、插入排序 ``` function?insertSort($arr)?{ ????$n=count($arr);????for($i=1;$i<$n;$i++)?{ ????????$tmp=$arr[$i]; ????????$j=$i-1;????????while($arr[$j]>$tmp)?{ ????????????$arr[$j+1]=$arr[$j]; ????????????$arr[$j]=$tmp; ????????????$j--;????????????if($j<0)????????????????break; ????????} ????}????return?$arr; } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看