快速排序 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 相关文章推荐
jQuery checkbox全选/取消全选实现代码
Nov 14 Javascript
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
Mar 16 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
Nov 19 Javascript
获取鼠标在div中的相对位置的实现代码
Dec 30 Javascript
鼠标滑过出现预览的大图提示效果
Feb 26 Javascript
浅谈jQuery中setInterval()方法
Jul 07 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 Javascript
JS实现淡入淡出图片效果的方法分析
Dec 20 Javascript
Javascript中的getter和setter初识
Aug 17 Javascript
vue elementUI tree树形控件获取父节点ID的实例
Sep 12 Javascript
JS图片懒加载的优点及实现原理
Jan 10 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
PHP中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
详解PHP中的PDO类
2015/07/06 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
vuejs指令详解
2017/02/07 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
在angularJs中进行数据遍历的2种方法
2018/10/08 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
python中的协程深入理解
2019/06/10 Python
Python的互斥锁与信号量详解
2019/09/12 Python
节水倡议书范文
2014/04/15 职场文书
说明书范文
2014/05/07 职场文书
微信搭讪开场白
2015/05/28 职场文书
甲午大海战观后感
2015/06/02 职场文书
教师远程研修感悟
2015/11/18 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers