博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
quickSort by javascript
阅读量:5044 次
发布时间:2019-06-12

本文共 1378 字,大约阅读时间需要 4 分钟。

1 function quickSort(array, left, right) { 2             // 当没有给出left,right参数时,为默认值 3             var left = left || 0, 4                 right = right || array.length - 1; 5             if (left >= right) { 6                 return array; 7             } 8             // 索引值,每次为数组的第一个元素 9             var index = array[left];10             // 设置哨兵i和j11             var i = left,12                 j = right;13             // 当两个哨兵未相遇时,进行后续处理14             while (i != j) {15                 // 先让哨兵j开始向左跑动,直到找到比索引值小的数16                 while (array[j] >= index && i < j) {17                     j--;18                 }19                 // 再让哨兵i向右跑动,直到找到比索引值大的数20                 while (array[i] <= index && i < j) {21                     i++;22                 }23                 // 当哨兵i还在哨兵j左边时,将其进行交换24                 if (i < j) {25                     var t = array[i];26                     array[i] = array[j];27                     array[j] = t;28                 }29             }30             // 当哨兵i和j相遇时,将索引值和哨兵进行交换31             array[left] = array[i];32             array[i] = index;33             // 递归调用,再去处理索引值左边部分和右边部分34             return quickSort(array, left, i - 1);35             return quickSort(array, i + 1, right);36         }

 这几天琢磨了下算法,好久没搞这东西感觉自己编程能力都退化了,就又拿出来练练了,以前都是用c去写的,现在学js就想着拿这个来实现了下。

转载于:https://www.cnblogs.com/luxueping/p/5732193.html

你可能感兴趣的文章
linux下Apache服务器使用入门----httpd.conf
查看>>
什么样虚拟主机才能满足电子商务网站性能要求
查看>>
使用dbutils进行数据库操作
查看>>
KS检验学习[转载]
查看>>
根据当前复选框状态,判断文本框是否可用
查看>>
MySQL两个最简单的delimiter的使用demo
查看>>
好久没写博客了
查看>>
位图排序算法的一个实践
查看>>
HTML5--JS API-新的选择器
查看>>
handlebars添加条件判断
查看>>
Service 与 Thread 的区别
查看>>
Android 中Service生命周期
查看>>
(转载)Ubuntu 下常用的软件工具
查看>>
c++学习8 -- 引用变量
查看>>
Deap: python中的遗传算法工具箱
查看>>
javaweb笔记分享
查看>>
网页基础操作
查看>>
CodeForces869E The Untended Antiquity
查看>>
Django Restframework.3
查看>>
463. Island Perimeter
查看>>