All files / algorithms/sort/src insertion.ts

100% Statements 11/11
100% Branches 2/2
100% Functions 1/1
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 164x 1x 8x 8x   8x 35x 35x     8x     1x    
export const sortInsertion = <Element>(array: Element[]): Element[] => {
    for (let index = 1; index < array.length; index++) {
        const currentItem: Element = array[index];
        let currentLeftIndex: number = index - 1;
 
        while (currentLeftIndex >= 0 && array[currentLeftIndex] > currentItem) {
            array[currentLeftIndex + 1] = array[currentLeftIndex];
            currentLeftIndex -= 1;
        }
 
        array[currentLeftIndex + 1] = currentItem;
    }
 
    return array;
};