Skip to content

Commit a894bd7

Browse files
committed
add variant insertion sort
1 parent 4365265 commit a894bd7

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

sorting/insertion-sort.js

+17
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,20 @@ function swap(a, b, array) {
1818
array[a] = array[b];
1919
array[b] = temp;
2020
}
21+
22+
// variation with one-liner swap
23+
//
24+
// Time O(n) - Best Case
25+
// Time O(n^2) - Worst Case
26+
// Space O(1)
27+
//
28+
function insertionSort(array) {
29+
for (let i = 1; i < array.length; i++) {
30+
let j = i;
31+
while (j > 0 && array[j] < array[j - 1]) {
32+
[array[j], array[j - 1]] = [array[j - 1], array[j]];
33+
j--;
34+
}
35+
}
36+
return array;
37+
}

0 commit comments

Comments
 (0)