diff --git a/Algorithms/insertionSort.js b/Algorithms/insertionSort.js new file mode 100644 index 0000000..82a8232 --- /dev/null +++ b/Algorithms/insertionSort.js @@ -0,0 +1,22 @@ +// https://www.freecodecamp.org/learn/coding-interview-prep/algorithms/implement-insertion-sort + +function insertionSort(array) { + // Only change code below this line + const swap = (array, i, j) => { + const temp = array[i]; + array[i] = array[j]; + array[j] = temp; + }; + + for (let i = 0; i < array.length; i++) { + for (let j = i; j > 0; j--) { + if (array[j] < array[j - 1]) { + swap(array, j, j - 1); + } else { + break; + } + } + } + return array; + // Only change code above this line +}