/
erioxis
/
web-nodejs
Обзор
Документация
Войти
/
erioxis
/
web-nodejs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/node_modules/mnemonist/utils/comparators.js
79 строк
1 KB
erioxis
lab11fix
15 дек 2025, 23:21
15 дек 2025, 23:21
70dc7ba
Код
Авторство
О чём код?
/** * Mnemonist Heap Comparators * =========================== * * Default comparators & functions dealing with comparators reversing etc. */ var DEFAULT_COMPARATOR = function(a, b) { if (a < b) return -1; if (a > b) return 1; return 0; }; var DEFAULT_REVERSE_COMPARATOR = function(a, b) { if (a < b) return 1; if (a > b) return -1; return 0; }; /** * Function used to reverse a comparator. */ function reverseComparator(comparator) { return function(a, b) { return comparator(b, a); }; } /** * Function returning a tuple comparator. */ function createTupleComparator(size) { if (size === 2) { return function(a, b) { if (a[0] < b[0]) return -1; if (a[0] > b[0]) return 1; if (a[1] < b[1]) return -1; if (a[1] > b[1]) return 1; return 0; }; } return function(a, b) { var i = 0; while (i < size) { if (a[i] < b[i]) return -1; if (a[i] > b[i]) return 1; i++; } return 0; }; } /** * Exporting. */ exports.DEFAULT_COMPARATOR = DEFAULT_COMPARATOR; exports.DEFAULT_REVERSE_COMPARATOR = DEFAULT_REVERSE_COMPARATOR; exports.reverseComparator = reverseComparator; exports.createTupleComparator = createTupleComparator;