快速排序php與javascript的不同之處_javascript技巧
來源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 20:58:14
快速排序php與javascript的不同之處_javascript技巧
快速排序php與javascript的不同之處_javascript技巧:1. PHP 代碼如下: $unsorted = array(2,4,5,63,4,5,63,2,4,43); function quicksort($array) { if (count($array) == 0) return array(); $pivot = $array[0]; $left = $right = array(); for ($
導(dǎo)讀快速排序php與javascript的不同之處_javascript技巧:1. PHP 代碼如下: $unsorted = array(2,4,5,63,4,5,63,2,4,43); function quicksort($array) { if (count($array) == 0) return array(); $pivot = $array[0]; $left = $right = array(); for ($
1. PHP
代碼如下:
$unsorted = array(2,4,5,63,4,5,63,2,4,43);
function quicksort($array)
{
if (count($array) == 0)
return array();
$pivot = $array[0];
$left = $right = array();
for ($i = 1; $i < count($array); $i++) {
if ($array[$i] < $pivot)
$left[] = $array[$i];
else
$right[] = $array[$i];
}
return array_merge(quicksort($left), array($pivot), quicksort($right));
}
$sorted = quicksort($unsorted);
print_r($sorted);
2. JavaScript
代碼如下:
var a = [2,4,5,63,4,5,63,2,4,43];
function quicksort(arr)
{
if (arr.length == 0)
return [];
var left = new Array();
var right = new Array();
var pivot = arr[0];
for (var i = 1; i < arr.length; i++) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quicksort(left).concat(pivot, quicksort(right));
}
console.log(quicksort(a));
注意,第一個(gè)條件語句是很重要的!而在PHP中COUNT函數(shù)將返回一個(gè)NULL值或空數(shù)組或0代替,你可以像count($array)<2的東西它
代碼如下:
if (count($array) < 2)
return $array;
在JavaScript中你無法使用,由于對(duì)'未定義'的值時(shí),存在一個(gè)“空“數(shù)組作為參數(shù)傳遞。因此,需要包含上面的條件:
代碼如下:
// this will result with an error
if (arr.length < 2)
return arr;
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
快速排序php與javascript的不同之處_javascript技巧
快速排序php與javascript的不同之處_javascript技巧:1. PHP 代碼如下: $unsorted = array(2,4,5,63,4,5,63,2,4,43); function quicksort($array) { if (count($array) == 0) return array(); $pivot = $array[0]; $left = $right = array(); for ($