加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮安站长网 (https://www.0517zz.cn/)- 运营、云管理、经验、智能边缘、云硬盘!
当前位置: 首页 > 教程 > 正文

基本数据结构算法

发布时间:2022-06-20 08:51:55 所属栏目:教程 来源:互联网
导读:? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ($low = $high){ $mid = intval(($low+$high)/2); if ($array[$mid] == $k){ return $mid; }elseif
  <?  
  //--------------------  
  // 基本数据结构算法
  //--------------------  
   
  //二分查找(数组里查找某个元素)  
  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;   
      }   
  }   
   
  //线性表的删除(数组中实现)  
  function delete_array_element($array, $i)  
  {  
          $len = count($array);   
          for ($j=$i; $j<$len; $j++){  
                  $array[$j] = $array[$j+1];  
          }  
          array_pop($array);  
          return $array;  
  }  
   
  //冒泡排序(数组排序)  
  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<count($array); $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);  
  }  
   
   
   
  //------------------------  
  // PHP内置字符串函数实现  
  //------------------------  
   
  //字符串长度  
  function strlen($str)  
  {  
          if ($str == '') return 0;  
   
          $count = 0;  
          while (1){  
                  if ($str[$count] != NULL){  
                          $count++;  
                          continue;  
                  }else{  
                          break;  
                  }  
          }  
          return $count;  

(编辑:淮安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读