詳解JS中的快速排序與冒泡
更新時間:2017年01月10日 14:04:43 作者:奮斗的小小牛
本文主要介紹了快速排序思想與冒泡排序思想。具有一定的參考價值,下面跟著小編一起來看下吧
1.快速排序思想:
1.1 先找數組的最中間的一個數為基準
1.2 把數組通過此基準分為小于基準的left數組和大于基準的right數組,
1.3 遞歸重復上面的兩個步驟,
代碼如下:
function quickSort(arr) { if (arr.length <=1 ){ return arr; } var middleIndex = Math.floor(arr.length / 2); var left = []; var right = []; var middle = arr.splice(middleIndex,1)[0]; for (var i = 0; i < arr.length; i++) { if ( arr[i] > middle) { right.push(arr[i]); } else { left.push(arr[i]); } } return quickSort(left).concat(middle,quickSort(right)); }
2. 冒泡排序思想:
2.1 兩兩比較,交換位置
2.2 循環(huán)數組
代碼如下:
function bubbleSort(arr) { for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j < arr.length -1 -i; j++) { if( arr[j] > arr[j+1]){ var temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } return arr; }
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
在VS?Code中使用Snippet?Craft擴展提高編碼效率的過程詳解
這篇文章主要介紹了在VS?Code中使用Snippet?Craft擴展提高編碼效率,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下2024-08-08js動態(tài)控制table的tr、td增加及刪除的具體實現(xiàn)
這篇文章主要介紹了使用js如何動態(tài)控制table的tr,td增加及刪除,需要的朋友可以參考下2014-04-04深入理解JavaScript中為什么string可以擁有方法
下面小編就為大家?guī)硪黄钊肜斫釰avaScript中為什么string可以擁有方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05JS forEach跳出循環(huán)2種實現(xiàn)方法
這篇文章主要介紹了JS forEach跳出循環(huán)2種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06