html快速排序,快速排序.html
var arr2 = [13, 4, 35, 67, 86, 24, 86, 34, 76];
function quickSort(arr) {
//如果数组<=1,则直接返回
if (arr.length <= 1) {
return arr;
}
var pivotIndex = arr[arr.length - 1];
//找基准,并把基准从原数组删除
// var pivot=arr.splice(pivotIndex,1)[0];
//定义左右数组
var left = [];
var right = [];
//比基准小的放在left,比基准大的放在right
for (var i = 0; i < arr.length - 1; i++) {
if (arr[i] < pivotIndex) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
//递归
return quickSort(left).concat(pivotIndex, quickSort(right));
}
var result = quickSort(arr2);
console.log(arr2 + '');
console.log(result + '');
var arr = [5, 8, 7, 9, 6, 10, 4, 3, 2, 1];
function quick(array) {
if (array.length <= 1) {
return array;
}
var base = array[0];
var left = [];
var right = [];
for (var i = 0; i < array.length; i++) {
if (array[i] == array[0]) {
continue;
} else if (array[i] < base) {
left.push(array[i]);
} else {
right.push(array[i]);
}
}
return quick(left).concat(base, quick(right));
}
var result2 = quick(arr);
console.log(arr + '');
console.log(result2 + '');
一键复制
编辑
Web IDE
原始数据
按行查看
历史
html快速排序,快速排序.html相关推荐
- 【算法设计与分析】16 分治策略:快速排序(快速排序的时间复杂度计算)
上一篇文章学习了:[算法设计与分析]15 分治策略:芯片测试 文章目录 1. 快速排序的基本思想 1.2 时间复杂度的计算 1.21 最坏情况时间复杂度计算 1.22 最好情况时间复杂度 1.23 平 ...
- c语言模拟试题快速排序,快速排序(东软喜欢考类似的算法填空题,又如堆排序的算法等)...
2015-10-21 06:30:01 阅读( 84 ) #include "stdafx.h" #define N 10 int part(int list[], int low ...
- 快速排序 c++_算法浅谈——分治算法与归并、快速排序(附代码和动图演示)
本文始发于个人公众号:TechFlow 在之前的文章当中,我们通过海盗分金币问题详细讲解了递归方法. 我们可以认为在递归的过程当中,我们通过函数自己调用自己,将大问题转化成了小问题,因此简化了编码以及 ...
- python遍历数组冒泡排序_经典排序算法(冒泡排序,选择排序,插入排序,快速排序,堆排序)python实现...
最近在复习经典排序算法,自己用python也实现了一下,这里不会涉及到原理(因为网上方法已经很详细啦),就把函数贴上来,可以让大家自己试着运行下,再结合别处的原理也可以更好地理解它们的实现. 如果有错 ...
- 排序---快速排序及其切分函数Partition应用
快速排序 快速排序通过一个切分元素将数组分成两个子数组,左子数组小于等于切分元素,右子数组大于切分元素,将这两个子数组排序,也就是将整个数组排序了. 代码如下: public class Sort ...
- 插入,冒泡,选择,快速排序,二分查找
一. 直接插入排序 void insertSort(int[] a){ for(int i=1;i<a.length; i++){ if (a[i]<a[ ...
- 交换排序 —— 快速排序
快速排序 快速排序是在等待排序的n个记录中随机取出一个元素作为基准,比基准小的元素放到基准左边,比基准大的放到基准的右边. 然后分别对基准两边的子序列进行上一步的操作.递归的进行,直到排序完成. 可以 ...
- C#实现(递归和非递归)快速排序和简单排序
C#实现(递归和非递归)快速排序和简单排序 本人因为最近工作用到了一些排序算法,就把几个简单的排序算法,想冒泡排序,选择排序,插入排序,奇偶排序和快速排序等整理了出来,代码用C#代码实现,并且通过了测 ...
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序...
http://www.blogjava.net/javacap/archive/2007/12/13/167364.html 为了便于管理,先引入个基础类: package algorithms; / ...
最新文章
- Ejabberd源码解析前奏--管理
- shell之echo and printf
- ES6新特性之函数优化-箭头函数
- C#基础复习(4) 之 浅析List、Dictionary
- 计算机技术职业资格考试
- 为什么感觉现在电脑病毒少了?
- 谷歌浏览器 performance 详解
- 解决 Could not locate executable null\bin\winutils.exe in the Hadoop binaries 异常
- Linux 服务器安装、配置和维护,一文看全~
- 前端获取计算机设备信息,前端获取设备/APP信息
- 模板引擎Beet的6大创新点
- 宁波诺丁汉大学计算机学院官网,宁波诺丁汉大学电子通讯及计算机工程(含实习)硕士课程...
- 财报汇总 | 可口可乐、埃森哲、圆通、海亮教育等9家企业发布业绩
- php adodb smarty,ADODB结合SMARTY使用~超级强
- JSON转JS对象,JS对象转JSON
- Linux Debian 分区出错Partition 2 does not start on physical sector boundary 解决方法 + swap
- 纯小白初识函数—主函数调用子函数:
- wr890n虚拟服务器,TP-Link TL-WR890N无线路由器的上网设置教程
- D. CGCDSSQ (gcdST表)
- 怎样快速的在线解除PDF文件密码方法是什么
热门文章
- java 从未导入_Java 8的10个您从未听说过的功能
- gradle ant_使用Gradle引导旧式Ant构建
- aspect spring_使用Aspect和Spring Profile进行电子邮件过滤
- javafx 表单_JavaFX 2:创建登录表单
- Java TDD简介–第1部分
- lucene创建索引_Lucene概述第一部分:创建索引
- 亚马逊标题自动抓取_15分钟内开始使用Amazon Web Services和全自动资源调配
- 一种通过变量插值读取属性的方法
- 带有AOP和注释的Java方法记录
- Spring Security配置错误