Heim >Backend-Entwicklung >PHP-Tutorial >一个快速排序的小例子

一个快速排序的小例子

WBOY
WBOYOriginal
2016-07-29 09:04:571073Durchsuche

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' ) ) );

以上就介绍了一个快速排序的小例子,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn