* @date 2017/6/17 * @license Mozilla * ------------------------------------------------------------- * æè·¯åæï¼ä»æ°å䏿åºä¸ä¸ªå ç´ ï¼ç§°ä¸º âåºåâï¼pivot) * ------------------------------------------------------------- * éæ°æåºæ°åï¼ææå ç´ æ¯åºåå¼å°çææ¾å¨åºååé¢ * ææå ç´ æ¯åºåå¼å¤§çæå¨åºåçåé¢ï¼ç¸åçæ°å¯ä»¥å°ä»»ä¸è¾¹ï¼ã * éå½å°ï¼recursiveï¼æå°äºåºåå¼å ç´ çåæ°åå大äºåºåå¼å ç´ çåæ°åæåº */ /** * @param array $container * @return array|void */ function QulickSort( array $container ){ $count = count( $container ); if( $count <= 1 ) return; $left = $right = []; for ( $i =0; $i<$count-1;$i++ ){ if( $container[$i] < $container[0] ){ $left[] = $container[$i]; }else{ $right[]= $container[$i]; } } $left = QulickSort($left); $right = QulickSort($right); return array_merge($left,[$container[0],$right]); } var_dump( QulickSort([4,21,41,2,53,1,213,31,21,423]) );