php 快排

 

<?php
$arr =array(3,1,5,67,8,7,9,9);
function qsort(&$arr,$head,$tail){
	if($head>=$tail){
		return;
	}
	$i=$head;
	$j=$tail;
	$base = $arr[$head];
	while($i<$j){
		while($i<$j&&$arr[$j]>=$base){
			$j--;
		}
		$arr[$i]=$arr[$j];
		while($i<$j&&$arr[$i]<=$base){
			$i++;
		}
		$arr[$j]=$arr[$i];
	}
	$arr[$i]=$base;
	qsort($arr,$head,$i-1);
	qsort($arr,$i+1,$tail);
}
qsort($arr,0,count($arr)-1);
echo count($arr)."\n";
foreach($arr as $key=>$value){
	echo "$value ";
}

  

8
1 3 5 7 8 9 9 67

posted @ 2017-01-22 19:39  YoZane  阅读(268)  评论(0编辑  收藏  举报