快速排序之JavaScript实现
2015-10-05 16:22
639 查看
function quickSort(arr) { //递归终止条件 if (arr.length <= 1) { return arr; } //取数组的第0个数组作为flag var flag = arr.splice(0, 1)[0]; //left为用于装载小于flag的数字的数组 var left = []; //right为用于装载小于flag的数字的数组 var right = []; //当前数组长度 var len = arr.length; //遍历所有数字并将其分配至left或者right for (var i = 0; i < len; i++) { var num = arr[i]; if (num < flag) { left.push(num); } else { right.push(num); } } //递归地对left和right继续进行快速排序并将结果拼装为整个数组 return quickSort(left).concat([flag], quickSort(right)); } var arr = [45,2,732,25,8,23,64,22]; console.log(quickSort(arr));
相关文章推荐
- How can I get file extensions with JavaScript?
- 堆排序之JavaScript实现
- 关于json格式转换为.xls .mdb的终极解决方案
- [LeetCode][JavaScript]Set Matrix Zeroes
- 关于JS操作DOM的一些小细节
- JS跨域常见方案
- TypeScript与Haxe:两种截然不同的JS转译工具横向对比
- javascript实例(一)验证表单是否空白
- JS事件分析之mouseover事件与mouseenter事件?
- d3.js学习笔记(一)
- 关于 jsp内嵌网页内容
- JavaScript中的运算符
- avalonjs 中的if else实现的几种方法
- avalonjs 中的if else实现的几种方法
- JavaScript表达式计算 eval
- 用canvas写 看你有多色 游戏
- Sublime Text 3能用支持的插件推荐
- javascript之对象(二)&& 继承问题
- 谈论json - json经常使用的功能
- JavaScript动漫作品(闭幕)