| 
 | 
 
 
            本文汇总了常见的php排序算法和查找,在进行算法设计的时候有不错的借鉴价值。现分享给大家供参考之用。具体如下: 
$arr[$j+1]){ 
        $temp=$arr[$j]; 
        $arr[$j]=$arr[$j+1]; 
        $arr[$j+1]=$temp; 
        $flag=true; 
     } 
   } 
   if(!$flag){ 
    //已经是有序了 
    break; 
   } 
   $flag=false; 
  } 
} 
  
//PHP选择排序法  效率比冒泡要高 
function selectSort(&$arr){ 
  $temp=0; 
  for($i=0;$i$arr[$j]){ 
         $minVal=$arr[$j]; 
         $minIndex=$j; 
      } 
    } 
    //最后交换 
    $temp=$arr[$i]; 
    $arr[$i]=$arr[$minIndex]; 
    $arr[$minIndex]=$temp; 
  } 
} 
  
//插入排序法(小到大排序)  效率又比 选择排序法要高一些 
function insertSort(&$arr){ 
  //先默认下标为0的这个数已经是有序 
  for($i=1;$i= 0 && $insertVal $pivot){ 
      $r--; 
     } 
     if($l>=$r){ 
      break; 
     } 
      
     $temp=$arr[$l]; 
     $arr[$l]=$arr[$r]; 
     $arr[$r]=$temp; 
     if($arr[$l]==$pivot){ 
      --$r; 
     } 
     if($arr[$r]==$pivot){ 
      ++$l; 
     } 
   } 
   if($l==$r){ 
    $l++; 
    $r--; 
   } 
   if($left$l) quickSort($l,$right,$arr); 
} 
  
/** 
 * 快速排序方法 第二种实现方法 自己实现的 
 * PHP快速排序方法 
 * $order asc 小到大 desc大到小 默认是asc 
 * $order 的值只能为 asc desc 如果乱写一个值也是按asc排序的 
 */ 
function quickSort2($arr,$order = 'asc') 
{ 
 if(count($arr)  $val) 
    $arr_right[] = $v; 
   else 
    $arr_left[] = $v; 
  } 
 } 
  
 $arr_left = quickSort($arr_left,$order); 
 $arr_right = quickSort($arr_right,$order); 
  
 return array_merge($arr_left,array($val),$arr_right); 
} 
  
  
//下面是查找 
$arr=array(46,90,900,0,-1); 
//这是按顺序查询 
function search(&$arr,$findVal){    
  $flag=false; 
  for($i=0;$i $arr[$middleIndex]){ 
    binarySearch($arr,$findVal,$middleIndex+1,$rightIndex); 
    //如果小于中间数,则向前面找 
  }else if($findVal  
希望本文所述排序算法和查找算法实例对大家的php程序设计有所帮助。 
             
             
您可能感兴趣的文章:使用PHP实现二分查找算法代码分享PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解php二分查找二种实现示例PHP二分查找算法示例【递归与非递归方法】PHP二分查找算法的实现方法示例PHP实现的折半查找算法示例php数据结构与算法(PHP描述) 查找与二分法查找php数据结构之顺序链表与链式线性表示例php线性表的入栈与出栈实例分析php线性表顺序存储实现代码(增删查改)PHP有序表查找之二分查找(折半查找)算法示例 
         |   
 
 
 
 |