<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP經典算法題

            時間:2025-03-19 06:54:38 php語言 我要投稿

            PHP經典算法題

              算法是學習編程的基礎,下面小編為大家整理了PHP經典算法題,希望能幫到大家!

              1.使用PHP描述冒泡排序和快速排序算法,對象可以是一個數組

              //冒泡排序(數組排序)

              function bubble_sort($array){

              $count = count($array);

              if ($count <= 0) return false;

              for($i=0; $i<$count; $i++){

              for($j=$count-1; $j>$i; $j–){

              if ($array[$j] < $array[$j-1]){

              $tmp = $array[$j];

              $array[$j] = $array[$j-1];

              $array[$j-1] = $tmp;

              }

              }

              }

              return $array;

              }

              //快速排序(數組排序)

              function quick_sort($array) {

              if (count($array) <= 1) return $array;

              $key = $array[0];

              $left_arr = array();

              $right_arr = array();

              for ($i=1; $i;$i++){

              if ($array[$i] <= $key){

              $left_arr[] = $array[$i];

              }else{

              $right_arr[] = $array[$i];

              }

              }

              $left_arr = quick_sort($left_arr);

              $right_arr = quick_sort($right_arr);

              return array_merge($left_arr, array($key), $right_arr);

              }

              2. 使用PHP描述順序查找和二分查找(也叫做折半查找)算法,順序查找必須考慮效率,對象可以是一個有序數組

              //二分查找(數組里查找某個元素)

              function bin_sch($array, $low, $high, $k){

              if ($low <= $high){

              $mid = intval(($low+$high)/2);

              if ($array[$mid] == $k){

              return $mid;

              }elseif ($k < $array[$mid]){

              return bin_sch($array, $low, $mid-1, $k);

              }else{

              return bin_sch($array, $mid+1, $high, $k);

              }

              }

              return -1;

              }

              //順序查找(數組里查找某個元素)

              function seq_sch($array, $n, $k){

              $array[$n] = $k;

              for($i=0; $i<$n; $i++){

              if($array[$i]==$k){

              break;

              }

              }

              if ($i<$n){

              return $i;

              }else{

              return -1;

              }

              }

              3.寫一個二維數組排序算法函數,能夠具有通用性,可以調用php內置函數

              二維數組排序, $arr是數據,$keys是排序的健值,$order是排序規則,1是升序,0是降序

              function array_sort($arr, $keys, $order=0) {

              if (!is_array($arr)) {

              return false;

              }

              $keysvalue = array();

              foreach($arr as $key => $val) {

              $keysvalue[$key] = $val[$keys];

              }

              if($order == 0){

              asort($keysvalue);

              }else {

              arsort($keysvalue);

              }

              reset($keysvalue);

              foreach($keysvalue as $key => $vals) {

              $keysort[$key] = $key;

              }

              $new_array = array();

              foreach($keysort as $key => $val) {

              $new_array[$key] = $arr[$val];

              }

              return $new_array;

              }

            【PHP經典算法題】相關文章:

            PHP幾個經典算法題10-27

            PHP紅包算法11-04

            php經典算法介紹10-05

            PHP的樹形結構算法07-06

            PHP 快速排序算法解析06-11

            PHP快速排序算法詳解08-30

            PHP排序算法類講解07-18

            PHP可逆加密解密算法07-22

            PHP實現抽獎概率算法09-13

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看