working version

This commit is contained in:
ak 2023-06-25 20:15:48 -07:00
parent 703d06e6b2
commit aea23efb71
3 changed files with 61 additions and 45 deletions

View file

@ -2,5 +2,9 @@ module.exports = {
"extends": [ "extends": [
"eslint-config-prettier", "eslint-config-prettier",
"prettier" "prettier"
] ],
} "parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module",
}
}

View file

@ -1,34 +1,42 @@
function fibs (number) { function fibs(number) {
const fibsArray = [0]; const fibsArray = [0];
if (number === 0) { if (number === 0) {
return (fibsArray); return fibsArray;
}
for (i = 1; i <= number; i++) {
if (i === 1) {
fibsArray.push(i + fibsArray[fibsArray.length - 1]);
} else {
fibsArray.push(
fibsArray[fibsArray.length - 2] + fibsArray[fibsArray.length - 1]
);
} }
for (i = 1; i <= number; i++) { }
if (i === 1) { return fibsArray;
fibsArray.push(i + fibsArray[fibsArray.length - 1]);
}
else {
fibsArray.push(fibsArray[fibsArray.length - 2] + fibsArray[fibsArray.length - 1]);
}
}
return(fibsArray);
} }
function fibsRec (number) { 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]); 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]
);
} }
// get input from user // get input from user
const readline = require('readline').createInterface({ const readline = require("readline").createInterface({
input: process.stdin, input: process.stdin,
output: process.stdout output: process.stdout,
}); });
readline.question('Enter amount of Fibonacci numbers to display: ', number => { readline.question(
"Enter amount of Fibonacci numbers to display: ",
(number) => {
console.log("Using iterative fibs function:"); console.log("Using iterative fibs function:");
console.log(fibs(number)); console.log(fibs(number));
console.log("Using recursive fibsRec function:"); console.log("Using recursive fibsRec function:");
console.log(fibsRec(number)); console.log(fibsRec(number));
readline.close(); readline.close();
}); }
);

View file

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