詳解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;
}
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
JavaScript數組去重的方法總結【12種方法,號稱史上最全】
這篇文章主要介紹了JavaScript數組去重的方法,結合實例形式較為詳細的總結分析了12種方法數組去重的方法,需要的朋友可以參考下2019-02-02
ionic js 模型 $ionicModal 可以遮住用戶主界面的內容框
這篇文章主要介紹了ionic js 模型 $ionicModal 可以遮住用戶主界面的內容框的相關資料,需要的朋友可以參考下2016-06-06

