快速排序 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写的select支持上下键、首字母筛选以及回车取值的功能
Sep 09 Javascript
JavaScript Distilled 基础知识与函数
Apr 07 Javascript
收集的10个免费的jQuery相册
Feb 26 Javascript
一个简单的瀑布流效果(主体形式自写)
May 27 Javascript
javascript的document.referrer浏览器支持、失效情况总结
Jul 18 Javascript
微信小程序 开发工具快捷键整理
Oct 31 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
May 17 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
May 18 Javascript
Node.js中的child_process模块详解
Jun 08 Javascript
js实现图片上传并预览功能
Aug 06 Javascript
微信小程序实现搜索历史功能
Mar 26 Javascript
如何制作自己的原生JavaScript路由
May 05 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中创建并处理图象
2006/10/09 PHP
几个php应用技巧
2008/03/27 PHP
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
js字符串操作总结(必看篇)
2016/11/22 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
2018/04/13 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
小程序实现搜索框
2020/06/19 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
Python出现segfault错误解决方法
2016/04/16 Python
Python2包含中文报错的解决方法
2018/07/09 Python
Python一句代码实现找出所有水仙花数的方法
2018/11/13 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
销售代表求职自荐信
2013/10/01 职场文书
幼儿园家长评语
2014/02/10 职场文书
村容村貌整治方案
2014/05/21 职场文书
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
汉字听写大会观后感
2015/06/12 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
以MySQL5.7为例了解一下执行计划
2022/04/13 MySQL