Initial import with skill sheet working
This commit is contained in:
38
node_modules/@seald-io/binary-search-tree/lib/customUtils.js
generated
vendored
Normal file
38
node_modules/@seald-io/binary-search-tree/lib/customUtils.js
generated
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Return an array with the numbers from 0 to n-1, in a random order
|
||||
*/
|
||||
const getRandomArray = n => {
|
||||
if (n === 0) return []
|
||||
if (n === 1) return [0]
|
||||
|
||||
const res = getRandomArray(n - 1)
|
||||
const next = Math.floor(Math.random() * n)
|
||||
res.splice(next, 0, n - 1) // Add n-1 at a random position in the array
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
module.exports.getRandomArray = getRandomArray
|
||||
|
||||
/*
|
||||
* Default compareKeys function will work for numbers, strings and dates
|
||||
*/
|
||||
const defaultCompareKeysFunction = (a, b) => {
|
||||
if (a < b) return -1
|
||||
if (a > b) return 1
|
||||
if (a === b) return 0
|
||||
|
||||
const err = new Error("Couldn't compare elements")
|
||||
err.a = a
|
||||
err.b = b
|
||||
throw err
|
||||
}
|
||||
|
||||
module.exports.defaultCompareKeysFunction = defaultCompareKeysFunction
|
||||
|
||||
/**
|
||||
* Check whether two values are equal (used in non-unique deletion)
|
||||
*/
|
||||
const defaultCheckValueEquality = (a, b) => a === b
|
||||
|
||||
module.exports.defaultCheckValueEquality = defaultCheckValueEquality
|
Reference in New Issue
Block a user