快速排序 php与javascript的不同之处
2011-02-22 00:00
681 查看
1. PHP
2. JavaScript
注意,第一个条件语句是很重要的!而在PHP中COUNT函数将返回一个NULL值或空数组或0代替,你可以像count($array)<2的东西它
在JavaScript中你无法使用,由于对'未定义'的值时,存在一个“空“数组作为参数传递。因此,需要包含上面的条件:
<?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));
注意,第一个条件语句是很重要的!而在PHP中COUNT函数将返回一个NULL值或空数组或0代替,你可以像count($array)<2的东西它
if (count($array) < 2) return $array;
在JavaScript中你无法使用,由于对'未定义'的值时,存在一个“空“数组作为参数传递。因此,需要包含上面的条件:
// this will result with an error if (arr.length < 2) return arr;
相关文章推荐
- PHP排序算法系列:快速排序
- php使用递归与迭代实现快速排序示例
- 快速排序(Quicksort)的Javascript实现
- php实现快速排序
- javascript 递归之 快速排序
- JavaScript 、Python Java、Go算法系列之【快速排序】篇
- php冒泡排序、快速排序、快速查找、二维数组去重实例分享
- 快速排序的不同语言不同方法实现的…
- PHP利用ICU扩展intl快速实现汉字转拼音以及按拼音首字母分组排序
- 【算法】PHP实现冒泡排序和快速排序--防遗忘
- JavaScript 、Python Java、Go算法系列之【快速排序】篇
- php冒泡排序、快速排序、快速查找、二维数组去重实例分享
- javascript实现快速排序
- 【PHP】php通过javascript判断不同设备分辨率来调用不同的css class
- 啊哈!算法 - 桶排序,冒泡排序,快速排序 - PHP实现
- php:快速排序的两种方法
- 使用 PHP 快速合并多个 CSS 和 JavaScript 文件
- JavaScript数组的快速克隆(slice()函数)和数组的排序、乱序和搜索(sort()函数)
- javaScript实现快速排序