UNPKG

lgrthms

Version:

Algorithms and data structures for your JavaScript and TypeScript projects 🧑‍💻

19 lines (18 loc) 625 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.insertionSort = void 0; const Comparator_1 = require("../../utils/Comparator"); const arrays_1 = require("../../utils/arrays"); // O(n^2) time | O(1) space function insertionSort(array, compareFn) { const comparator = new Comparator_1.Comparator(compareFn); for (let i = 1; i < array.length; i++) { let j = i; while (j > 0 && comparator.isLessThan(array[j], array[j - 1])) { (0, arrays_1.swap)(array, j, j - 1); j--; } } return array; } exports.insertionSort = insertionSort;