From 189292fd20d21f81182141e58de215608a68ed01 Mon Sep 17 00:00:00 2001 From: Rahul Saini <111075975+Rahul-K-Saini@users.noreply.github.com> Date: Tue, 2 Jan 2024 14:55:31 +0530 Subject: [PATCH] Update quicksort.js - Changed pivot element from end element to middle element to make lesser comparisons. - Changed condition to get array sorted in increasing order. --- Sorts/quicksort.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Sorts/quicksort.js b/Sorts/quicksort.js index a0b29c5..6cfe104 100644 --- a/Sorts/quicksort.js +++ b/Sorts/quicksort.js @@ -11,9 +11,10 @@ function partition( arr, start, end) { let p = start; - let pivot = arr[end]; + let middle = Math.floor((start + end) / 2); // take pivot as middle element for lesser comparisons and faster computation + let pivot = arr[middle]; for (let i = start; i < end; i++) { - if (arr[i] >= pivot) { + if (arr[i] <= pivot) { let temp = arr[i]; arr[i] = arr[p]; arr[p] = temp; @@ -28,4 +29,4 @@ function partition( arr, start, end) { } var arr = [ 7, 2, 1, 6, 5, 3, 8, 4 ]; quicksort(arr, 0, arr.length - 1); - console.log(arr.toString()) \ No newline at end of file + console.log(arr.toString())