diff --git a/src/algorithms/sorting/insertion-sort/InsertionSort.js b/src/algorithms/sorting/insertion-sort/InsertionSort.js index 7a801613..83e79170 100644 --- a/src/algorithms/sorting/insertion-sort/InsertionSort.js +++ b/src/algorithms/sorting/insertion-sort/InsertionSort.js @@ -6,7 +6,7 @@ export default class InsertionSort extends Sort { // Go through all array elements... for (let i = 1; i < array.length; i += 1) { - let currentIndex = i; + let j = i; // Call visiting callback. this.callbacks.visitingCallback(array[i]); @@ -14,23 +14,17 @@ export default class InsertionSort extends Sort { // Check if previous element is greater than current element. // If so, swap the two elements. while ( - array[currentIndex - 1] !== undefined - && this.comparator.lessThan(array[currentIndex], array[currentIndex - 1]) + array[j - 1] !== undefined + && this.comparator.lessThan(array[j], array[j - 1]) ) { // Call visiting callback. - this.callbacks.visitingCallback(array[currentIndex - 1]); + this.callbacks.visitingCallback(array[j - 1]); // Swap the elements. - [ - array[currentIndex - 1], - array[currentIndex], - ] = [ - array[currentIndex], - array[currentIndex - 1], - ]; + [array[j - 1], array[j]] = [array[j], array[j - 1]]; // Shift current index left. - currentIndex -= 1; + j -= 1; } } diff --git a/src/algorithms/sorting/quick-sort/QuickSortInPlace.js b/src/algorithms/sorting/quick-sort/QuickSortInPlace.js index d02298b2..c780f9bf 100644 --- a/src/algorithms/sorting/quick-sort/QuickSortInPlace.js +++ b/src/algorithms/sorting/quick-sort/QuickSortInPlace.js @@ -39,9 +39,7 @@ export default class QuickSortInPlace extends Sort { * @param {number} rightIndex */ const swap = (leftIndex, rightIndex) => { - const temp = array[leftIndex]; - array[leftIndex] = array[rightIndex]; - array[rightIndex] = temp; + [array[leftIndex], array[rightIndex]] = [array[rightIndex], array[leftIndex]]; }; const pivot = array[highIndex]; diff --git a/src/algorithms/sorting/shell-sort/ShellSort.js b/src/algorithms/sorting/shell-sort/ShellSort.js index cdbba997..58859acb 100644 --- a/src/algorithms/sorting/shell-sort/ShellSort.js +++ b/src/algorithms/sorting/shell-sort/ShellSort.js @@ -12,22 +12,20 @@ export default class ShellSort extends Sort { while (gap > 0) { // Go and compare all distant element pairs. for (let i = 0; i < (array.length - gap); i += 1) { - let currentIndex = i; + let j = i; let gapShiftedIndex = i + gap; - while (currentIndex >= 0) { + while (j >= 0) { // Call visiting callback. - this.callbacks.visitingCallback(array[currentIndex]); + this.callbacks.visitingCallback(array[j]); // Compare and swap array elements if needed. - if (this.comparator.lessThan(array[gapShiftedIndex], array[currentIndex])) { - const tmp = array[currentIndex]; - array[currentIndex] = array[gapShiftedIndex]; - array[gapShiftedIndex] = tmp; + if (this.comparator.lessThan(array[gapShiftedIndex], array[j])) { + [array[j], array[gapShiftedIndex]] = [array[gapShiftedIndex], array[j]]; } - gapShiftedIndex = currentIndex; - currentIndex -= gap; + gapShiftedIndex = j; + j -= gap; } } diff --git a/src/data-structures/heap/Heap.js b/src/data-structures/heap/Heap.js index b978739e..700d4fe9 100644 --- a/src/data-structures/heap/Heap.js +++ b/src/data-structures/heap/Heap.js @@ -95,9 +95,8 @@ export default class Heap { * @param {number} indexTwo */ swap(indexOne, indexTwo) { - const tmp = this.heapContainer[indexTwo]; - this.heapContainer[indexTwo] = this.heapContainer[indexOne]; - this.heapContainer[indexOne] = tmp; + [this.heapContainer[indexOne], this.heapContainer[indexTwo]] = [ + this.heapContainer[indexTwo], this.heapContainer[indexOne]]; } /**