當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript实现快速排序
生活随笔
收集整理的這篇文章主要介紹了
JavaScript实现快速排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
快速排序是各大IT公司面試必考算法題之一,正好在百度前端技術學院(IFE)做任務時遇到一道題,要求可視化一個排序算法的計算過程,我第一時間就想到了用JS手寫一個快排算法,正好作為練手。
// 快速排序 function quickSort(array,low,high) {if (high <= low) return;// 選擇第一個元素作為基準元素var pivot = array[low], i=low,j=high;// 將所有比pivot小的元素放到其左邊,大的放到右邊while (i < j) {while (i < j && array[j] > pivot) --j;array[i] = array[j];while (i < j && array[i] <= pivot) ++i;array[j] = array[i];}array[i] = pivot;// 遞歸對左右兩邊的子數組排序arguments.callee(array,low,i-1);arguments.callee(array,i+1,high); }這個排序算法思路很簡單,但有一點細節要注意:中間那兩個判斷i、j移動的條件里,與pivot作比較時,至少要有一個>=(或<=)符號,否則,當待排序數組里有兩個相同的元素時,兩個while會卡在那里互相賦值,造成無限循環。
轉載于:https://www.cnblogs.com/leegent/p/5322391.html
總結
以上是生活随笔為你收集整理的JavaScript实现快速排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何用pe安装服务器系统安装系统教程视频
- 下一篇: SpringMVC+MyBatis 返回