From 877356fbab8c274ff6b2bd8a770d4fa7549105ae Mon Sep 17 00:00:00 2001 From: Charlie Moore Date: Mon, 4 Oct 2021 18:33:35 -0400 Subject: [PATCH] Fix bug in bucketSort so that a comparison function is now provided to the sort function The [built-in JavaScript sort method](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) will perform a lexicographical (aka alphabetical) order by converting the elements of the array to strings. This can yield unexpected results when sorting numbers. A comparison function can be passed into the sort method to indicate how array elements should be compared. --- Sorts/BucketSort.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sorts/BucketSort.js b/Sorts/BucketSort.js index 779cd2d62..d2cde4d2e 100644 --- a/Sorts/BucketSort.js +++ b/Sorts/BucketSort.js @@ -53,7 +53,7 @@ function bucketSort (list, size) { const sorted = [] // now sort every bucket and merge it to the sorted list for (let iBucket = 0; iBucket < buckets.length; iBucket++) { - const arr = buckets[iBucket].sort() + const arr = buckets[iBucket].sort((a, b) => a - b) for (let iSorted = 0; iSorted < arr.length; iSorted++) { sorted.push(arr[iSorted]) }