一个快速排序的小例子
程序员文章站
2022-05-02 11:48:11
...
function quickSort($array)
{
if( !isset( $array[1] ) ) return $array;
$mid = $array[0]; //获取一个用于分割的关键字,一般是首个元素
$leftArray = array();
$rightArray = array();
foreach( $array as $v )
{
if($v > $mid)
$rightArray[] = $v; //把比$mid大的数放到一个数组里
if($v $leftArray[] = $v; //把比$mid小的数放到另一个数组里
}
$leftArray = quickSort($leftArray); //把比较小的数组再一次进行分割
$leftArray[] = $mid; //把分割的元素加到小的数组后面,不能忘了它哦
$rightArray = quickSort($rightArray); //把比较大的数组再一次进行分割
return array_merge($leftArray,$rightArray); //组合两个结果
}
print_r( quickSort( array( '6','5','3','7','9' ) ) );
{
if( !isset( $array[1] ) ) return $array;
$mid = $array[0]; //获取一个用于分割的关键字,一般是首个元素
$leftArray = array();
$rightArray = array();
foreach( $array as $v )
{
if($v > $mid)
$rightArray[] = $v; //把比$mid大的数放到一个数组里
if($v $leftArray[] = $v; //把比$mid小的数放到另一个数组里
}
$leftArray = quickSort($leftArray); //把比较小的数组再一次进行分割
$leftArray[] = $mid; //把分割的元素加到小的数组后面,不能忘了它哦
$rightArray = quickSort($rightArray); //把比较大的数组再一次进行分割
return array_merge($leftArray,$rightArray); //组合两个结果
}
print_r( quickSort( array( '6','5','3','7','9' ) ) );
以上就介绍了一个快速排序的小例子,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。