PHP头条
热点:

PHP常用的四种排序方法及二种查找方法-PHP源码


=$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) <= 1)
    return $arr;

  $arr_left = $arr_right = array();

  $val = $arr[0];unset($arr[0]);

  foreach ($arr as $v) {
    if(strtolower($order) == 'desc'){
      if($v < $val)
        $arr_right[] = $v;
      else
        $arr_left[] = $v;
    }else{
      if($v > $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 < $arr[$middleIndex]){
		binarySearch($arr,$findVal,$leftIndex,$middleIndex-1);
	}else{
		echo "找到这个数。下标是$middleIndex";
	}
}

?>

www.phpzy.comtrue/phpyy/48890.htmlTechArticlePHP常用的四种排序方法及二种查找方法-PHP源码 =$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,...

相关文章

PHP之友评论

今天推荐