當(dāng)前位置:
首頁(yè) >
快速排序算法的简短描述
發(fā)布時(shí)間:2023/12/15
29
豆豆
生活随笔
收集整理的這篇文章主要介紹了
快速排序算法的简短描述
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一個(gè)數(shù)組,比如:
[3,9,2,1,5,4]
取出某個(gè)元素(比如第一個(gè)元素3);
將除3之外的元素元素分為兩組,小于(less than)等于(equal)3的為一組,[1,2],記為lt,大于(greater than)3的為一組[4,5,9] ,記為gt;
對(duì)lt 和 gt 重復(fù)上面的步驟——快速排序是一個(gè)遞歸過(guò)程(recursive);
將最終的結(jié)果合并。
用js來(lái)描述就是:
// list that greater than nfunction listgt(list,n){return list.filter(function(m){return m > n;})}// eg.// 返回大于2的元素// -> [ 3, 9, 5, 4 ]// console.log(listgt([3,9,2,1,5,4],2));// list that less than or equal to nfunction listlet(list,n){return list.filter(function(m){return m <= n;})}// eg.// 返回比小于或等于2的元素// -> [ 2, 1 ]// console.log(listlet([3,9,2,1,5,4],2));function first(list){return list[0];}function rest(list){return list.slice(1);}function quicksort(list){if(list.length === 0){return [];}else{var n = first(list), lt = listlet(rest(list),n), gt = listgt(rest(list),n)// 遞歸 & 合并return [].concat(quicksort(lt),n,quicksort(gt))}}console.log(quicksort([3,9,2,1,5,4]));// [ 1, 2, 3, 4, 5, 9 ]?
轉(zhuǎn)載于:https://www.cnblogs.com/wewe/p/3163974.html
總結(jié)
以上是生活随笔為你收集整理的快速排序算法的简短描述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Cmd】批处理
- 下一篇: Waiting 180 more sec