Projektstart
This commit is contained in:
50
backend/node_modules/mnemonist/sort/insertion.js
generated
vendored
Normal file
50
backend/node_modules/mnemonist/sort/insertion.js
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
/**
|
||||
* 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;
|
||||
Reference in New Issue
Block a user