All files / algorithms/sort/src quick.ts

100% Statements 12/12
100% Branches 2/2
100% Functions 3/3
100% Lines 10/10

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  5x 5x 5x 15x 8x     7x 29x 29x 7x
export const sortQuick = <Element>(array: Element[]): Element[] => {
    if (array.length <= 1) {
        return array;
    } else {
        const pivot = array.pop() as Element;
        const smallerValues = array.filter((item) => item < pivot);
        const biggerValues = array.filter((item) => item > pivot);
 
        return [...sortQuick(smallerValues), pivot, ...sortQuick(biggerValues)];
    }
};