快速排序 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插件制作 学习过程及实例
Apr 25 Javascript
JS将秒换成时分秒实现代码
Sep 03 Javascript
JS实现图片翻书效果示例代码
Sep 09 Javascript
jQuery使用之设置元素样式用法实例
Jan 19 Javascript
详解JavaScript中数组的相关知识
Jul 29 Javascript
jquery实现的伪分页效果代码
Oct 29 Javascript
基于javascript html5实现3D翻书特效
Mar 14 Javascript
node.js中express中间件body-parser的介绍与用法详解
May 23 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
Dec 06 Javascript
tsconfig.json配置详解
May 17 Javascript
Vue实现点击箭头上下移动效果
Jun 11 Javascript
element中table高度自适应的实现
Oct 21 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
萌王史莱姆”萌王性别尴尬!那“萌战”归女组还是男?
2018/12/17 日漫
如何隐藏你的.php文件
2007/01/04 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
PHP字符串的编码问题的详细介绍
2013/04/27 PHP
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
php实现文件编码批量转换
2014/03/10 PHP
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
javascript event 事件解析
2011/01/31 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
2019/04/15 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
Python 在函数上添加包装器
2020/07/28 Python
python import 上级目录的导入
2020/11/03 Python
CSS3 实现弹幕的示例代码
2017/08/07 HTML / CSS
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
学校门卫岗位职责范本
2014/06/30 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
停水通知
2015/04/16 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
Python实现制作销售数据可视化看板详解
2021/11/27 Python