- //二分查找(数组里查找某个元素)
- 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 quicksort($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 = quicksort($left_arr);
- $right_arr = quicksort($right_arr);
- return array_merge($left_arr, array($key), $right_arr);
- }
php 基本数据结构算法
最新推荐文章于 2021-07-03 08:35:05 发布