快速排序 php与javascript的不同之处


Posted in Javascript onFebruary 22, 2011

1. PHP

<?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;
Javascript 相关文章推荐
javascript encodeURI和encodeURIComponent的比较
Apr 03 Javascript
JS中的substring和substr函数的区别说明
May 07 Javascript
javascript自然分类法算法实现代码
Oct 11 Javascript
jQuery中:password选择器用法实例
Jan 03 Javascript
非常酷炫的Bootstrap图片轮播动画
May 27 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
May 30 Javascript
javaScript知识点总结(必看篇)
Jun 10 Javascript
关于Iframe父页面与子页面之间的相互调用
Nov 22 Javascript
详解Node.js:events事件模块
Nov 24 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
Aug 09 Javascript
javaScript 连接打印机,打印小票的实例
Dec 29 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
Oct 29 Javascript
JavaScript传递变量: 值传递?引用传递?
Feb 22 #Javascript
JavaScript中的排序算法代码
Feb 22 #Javascript
JavaScript中几种常见排序算法小结
Feb 22 #Javascript
用JS控制回车事件的代码
Feb 20 #Javascript
apycom出品的jQuery精美菜单破解方法
Feb 18 #Javascript
自制基于jQuery的智能提示插件一枚
Feb 18 #Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
Feb 18 #Javascript
You might like
PHP4实际应用经验篇(6)
2006/10/09 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
php实现简单的权限管理的示例代码
2017/08/25 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
JavaScript中创建对象的模式汇总
2016/04/19 Javascript
基于jQuery实现表格的排序
2016/12/02 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
vue数组对象排序的实现代码
2018/06/20 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
python复制文件代码实现
2013/12/23 Python
Python脚本实现代码行数统计代码分享
2015/03/10 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
基于Python 函数和方法的区别说明
2021/03/24 Python
护校行动方案
2014/05/31 职场文书
五五普法心得体会
2014/09/04 职场文书
2015年劳动部工作总结
2015/05/23 职场文书
详解python字符串驻留技术
2021/05/21 Python