Files
simple-mail-cleaner/backend/node_modules/mnemonist/sort/insertion.js
2026-01-22 15:49:12 +01:00

51 lines
814 B
JavaScript

/**
* Mnemonist Insertion Sort
* =========================
*
* Insertion sort related functions.
*/
function inplaceInsertionSort(array, lo, hi) {
i = lo + 1;
var j, k;
for (; i < hi; i++) {
k = array[i];
j = i - 1;
while (j >= lo && array[j] > k) {
array[j + 1] = array[j];
j--;
}
array[j + 1] = k;
}
return array;
}
exports.inplaceInsertionSort = inplaceInsertionSort;
function inplaceInsertionSortIndices(array, indices, lo, hi) {
i = lo + 1;
var j, k, t;
for (; i < hi; i++) {
t = indices[i];
k = array[t];
j = i - 1;
while (j >= lo && array[indices[j]] > k) {
indices[j + 1] = indices[j];
j--;
}
indices[j + 1] = t;
}
return indices;
}
exports.inplaceInsertionSortIndices = inplaceInsertionSortIndices;