Title

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相关推荐

  1. 【算法设计与分析】16 分治策略:快速排序(快速排序的时间复杂度计算)

    上一篇文章学习了:[算法设计与分析]15 分治策略:芯片测试 文章目录 1. 快速排序的基本思想 1.2 时间复杂度的计算 1.21 最坏情况时间复杂度计算 1.22 最好情况时间复杂度 1.23 平 ...

  2. c语言模拟试题快速排序,快速排序(东软喜欢考类似的算法填空题,又如堆排序的算法等)...

    2015-10-21 06:30:01 阅读( 84 ) #include "stdafx.h" #define N 10 int part(int list[], int low ...

  3. 快速排序 c++_算法浅谈——分治算法与归并、快速排序(附代码和动图演示)

    本文始发于个人公众号:TechFlow 在之前的文章当中,我们通过海盗分金币问题详细讲解了递归方法. 我们可以认为在递归的过程当中,我们通过函数自己调用自己,将大问题转化成了小问题,因此简化了编码以及 ...

  4. python遍历数组冒泡排序_经典排序算法(冒泡排序,选择排序,插入排序,快速排序,堆排序)python实现...

    最近在复习经典排序算法,自己用python也实现了一下,这里不会涉及到原理(因为网上方法已经很详细啦),就把函数贴上来,可以让大家自己试着运行下,再结合别处的原理也可以更好地理解它们的实现. 如果有错 ...

  5. 排序---快速排序及其切分函数Partition应用

    快速排序   快速排序通过一个切分元素将数组分成两个子数组,左子数组小于等于切分元素,右子数组大于切分元素,将这两个子数组排序,也就是将整个数组排序了. 代码如下: public class Sort ...

  6. 插入,冒泡,选择,快速排序,二分查找

    一. 直接插入排序 void insertSort(int[] a){       for(int i=1;i<a.length; i++){            if (a[i]<a[ ...

  7. 交换排序 —— 快速排序

    快速排序 快速排序是在等待排序的n个记录中随机取出一个元素作为基准,比基准小的元素放到基准左边,比基准大的放到基准的右边. 然后分别对基准两边的子序列进行上一步的操作.递归的进行,直到排序完成. 可以 ...

  8. C#实现(递归和非递归)快速排序和简单排序

    C#实现(递归和非递归)快速排序和简单排序 本人因为最近工作用到了一些排序算法,就把几个简单的排序算法,想冒泡排序,选择排序,插入排序,奇偶排序和快速排序等整理了出来,代码用C#代码实现,并且通过了测 ...

  9. 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序...

    http://www.blogjava.net/javacap/archive/2007/12/13/167364.html 为了便于管理,先引入个基础类: package algorithms; / ...

最新文章

  1. Ejabberd源码解析前奏--管理
  2. shell之echo and printf
  3. ES6新特性之函数优化-箭头函数
  4. C#基础复习(4) 之 浅析List、Dictionary
  5. 计算机技术职业资格考试
  6. 为什么感觉现在电脑病毒少了?
  7. 谷歌浏览器 performance 详解
  8. 解决 Could not locate executable null\bin\winutils.exe in the Hadoop binaries 异常
  9. Linux 服务器安装、配置和维护,一文看全~
  10. 前端获取计算机设备信息,前端获取设备/APP信息
  11. 模板引擎Beet的6大创新点
  12. 宁波诺丁汉大学计算机学院官网,宁波诺丁汉大学电子通讯及计算机工程(含实习)硕士课程...
  13. 财报汇总 | 可口可乐、埃森哲、圆通、海亮教育等9家企业发布业绩
  14. php adodb smarty,ADODB结合SMARTY使用~超级强
  15. JSON转JS对象,JS对象转JSON
  16. Linux Debian 分区出错Partition 2 does not start on physical sector boundary 解决方法 + swap
  17. 纯小白初识函数—主函数调用子函数:
  18. wr890n虚拟服务器,TP-Link TL-WR890N无线路由器的上网设置教程
  19. D. CGCDSSQ (gcdST表)
  20. 怎样快速的在线解除PDF文件密码方法是什么

热门文章

  1. java 从未导入_Java 8的10个您从未听说过的功能
  2. gradle ant_使用Gradle引导旧式Ant构建
  3. aspect spring_使用Aspect和Spring Profile进行电子邮件过滤
  4. javafx 表单_JavaFX 2:创建登录表单
  5. Java TDD简介–第1部分
  6. lucene创建索引_Lucene概述第一部分:创建索引
  7. 亚马逊标题自动抓取_15分钟内开始使用Amazon Web Services和全自动资源调配
  8. 一种通过变量插值读取属性的方法
  9. 带有AOP和注释的Java方法记录
  10. Spring Security配置错误