working version

This commit is contained in:
ak 2023-06-25 20:15:23 -07:00
parent 9824b7328f
commit 703d06e6b2
2 changed files with 43 additions and 4 deletions

View file

@ -18,7 +18,17 @@ function fibsRec (number) {
return number === 1 ? [0 , 1] : fibsRec(number - 1).concat(fibsRec(number -1)[fibsRec(number - 1).length - 1] + fibsRec(number -1)[fibsRec(number - 1).length - 2]);
}
console.log("Using iterative fibs function:");
console.log(fibs(8));
console.log("Using recursive fibsRec function:");
console.log(fibsRec(8));
// get input from user
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
readline.question('Enter amount of Fibonacci numbers to display: ', number => {
console.log("Using iterative fibs function:");
console.log(fibs(number));
console.log("Using recursive fibsRec function:");
console.log(fibsRec(number));
readline.close();
});

View file

@ -0,0 +1,29 @@
// merge sort - recursive
function mergeSort (arr) {
if (arr.length < 2) return arr;
// the sauce
function mergeArrays (left, right) {
// create output array
let output = [];
// while both halves of the array have values
while (left.length && right.length) {
// remove first index from correct array and add to output array
left[0] <= right[0] ? output.push(left.shift()) : output.push(right.shift());
}
return output.concat(left, right);
}
const half = Math.floor(arr.length / 2);
const left = arr.splice(0, half);
return mergeArrays(mergeSort(left), mergeSort(arr));
}
// get input from user
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
readline.question('Enter comma-separated numbers to sort: ', numbers => {
numbers.indexOf(',') > -1 ? console.log (mergeSort([numbers])) : console.log ('No comma-separated numbers entered!');
readline.close();
});