Copy CodeThe code is as follows:
/**
* Fast sorting quick Sort
*
**/
function Sort_quick ($arrData) {
if (Empty ($arrData) | |!is_array ($ARRDATA)) return false;
$flag = $arrData [0];
$len = count ($arrData)-1;
if ($len = = 0) return $arrData; If only one array of data is returned directly
$arrLeft = Array ();
$arrRight = Array ();
$len _l = 0;
$len _r = 0;
for ($i = 1; $i <= $len; $i + +) {
if ($arrData [$i] < $flag) {
$arrLeft [$len _l] = $arrData [$i]; Less than put to the left
$len _l++;
} else {
$arrRight [$len _r] = $arrData [$i]; On the right with greater than or equal
$len _r++;
}
}
Merging arrays
$arrResult = Array ();
if ($len _l) {
$arrLeft = Sort_quick ($arrLeft);
for ($i = 0; $i <= $len _l-1; $i + +) {
$arrResult [$i] = $arrLeft [$i];
}
}
$arrResult [$len _l] = $flag;
$len _l++;
if ($len _r) {
$arrRight = Sort_quick ($arrRight);
for ($i = 0; $i <= $len _r-1; $i + +) {
$arrResult [$len _l] = $arrRight [$i];
$len _l++;
}
}
echo "= =", $flag, "==========================================
";
echo "Data:", Print_r ($arrData), "
";
echo "Filter Left:", Print_r ($arrLeft), "
";
echo "Filter Right:", Print_r ($arrRight), "
";
echo "return:", Print_r ($arrResult), "
";
return $arrResult;
}
$list = Array (4,3,2,1,5,7,3,7);
$list = Array (4,51,6,73,2,5,9,33,50,3,4,6,1,4,67);
$list = Sort_quick ($list);
echo "
http://www.bkjia.com/PHPjc/325534.html www.bkjia.com true http://www.bkjia.com/PHPjc/325534.html techarticle Copy the code as follows:? PHP/** * Fast sort Quick Sorts * **/function Sort_quick ($arrData) {if (empty ($arrData) | | |!is_array ($ARRDATA)) return false; $flag = $arrData [0]; $l ...