摘要:本文主要介紹了快速排序思想與冒泡排序思想。1.快速排序思想: 1.1 先找數(shù)組的最中間的一個數(shù)為基準(zhǔn) 1.2 把數(shù)組通過此基準(zhǔn)分為小于基準(zhǔn)的left數(shù)組和大于基準(zhǔn)的right數(shù)組, 1.3 遞歸重復(fù)上面的兩個步驟,代碼如下:function quickSort(arr) { if (arr.length <=1
本文主要介紹了快速排序思想與冒泡排序思想。
1.快速排序思想:
1.1 先找數(shù)組的最中間的一個數(shù)為基準(zhǔn)
1.2 把數(shù)組通過此基準(zhǔn)分為小于基準(zhǔn)的left數(shù)組和大于基準(zhǔn)的right數(shù)組,
1.3 遞歸重復(fù)上面的兩個步驟,
代碼如下:
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)數(shù)組
代碼如下:
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; }
更多關(guān)于詳解JS中的快速排序與冒泡請關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!