1. 程式人生 > 其它 >JavaScript實現快速排序

JavaScript實現快速排序

技術標籤:JS面試快速排序jsjavascript演算法資料結構

var quickSort = function(arr) {
    // 當陣列的長度小於等於1時 返回(退出遞迴)
  if (arr.length <= 1) { return arr; }  
    // 選取中間值作為基準值
  var pivotIndex = Math.floor(arr.length / 2);  
  var pivot = arr.splice(pivotIndex, 1)[0]; 
    // 建立兩個空陣列分別存放小於基準值的陣列和大於基準值的陣列
  var left = [];  
  var
right = []; // 遍歷陣列,將小於基準值的陣列元素push到left陣列中,大於基準值的陣列push到right陣列中   for (var i = 0; i < arr.length; i++){     if (arr[i] < pivot) {       left.push(arr[i]);     } else {       right.push(arr[i]);     }   } // 遞迴重複上述步驟   return quickSort(left).concat([pivot], quickSort(right)
); }; a = [1,78,98,4564,56,789,2234,6,8,435,878,98879665,534556,5,23432,76867,87865] console.log(quickSort(a));

輸出的結果為:
在這裡插入圖片描述