The insertion sort

The insertion sort algorithm builds the final sorted array one value at a time. It assumes that the first element is already sorted. Then, a comparison with the second value is performed—should the second value stay in its place or be inserted before the first value? The first two values will get sorted, then the comparison will take place with the third value (that is, should it be inserted in the first, second, or third position?), and so on.

The following code represents the insertion sort algorithm:

function insertionSort(array, compareFn = defaultCompare) {  const { length } = array; // {1}  let temp;  for (let i = 1; i < length; i++) { // {2}    let j = i; // {3}    temp = array[i]; // {4} while (j > 0 && compareFn(array[j ...

Get Learning JavaScript Data Structures and Algorithms - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.