Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions JAVASCRIPT/Algorithms/insertionSort.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
const insertionSort = (arr) => {
for (let i = 1; i < arr.length; i++) {
let currentValue = arr[i];
let j;
for (j = i - 1; j >= 0 && arr[j] > currentValue; j--) {
arr[j + 1] = arr[j];
}
arr[j + 1] = currentValue;
}
return arr;
};

// console.log(insertionSort([45, 3, 79, 14, 459, 21, 999])); // Output: [3, 14, 21, 45, 79, 459, 999];
17 changes: 17 additions & 0 deletions JAVASCRIPT/Algorithms/mergeSort.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
function mergeArrays(leftArr, rightArr) {
let array = [];
while (leftArr.length && rightArr.length) {
if (leftArr[0] < rightArr[0]) array.push(leftArr.shift());
else array.push(rightArr.shift());
}
return [...array, ...leftArr, ...rightArr];
}

function mergeSort(arr) {
const middle = arr.length / 2;
if (arr.length < 2) return arr;
const leftArr = arr.splice(0, middle);
return mergeArrays(mergeSort(leftArr), mergeSort(arr));
}

// console.log(mergeSort([45, 3, 79, 14, 459, 21, 999])); // Output: [3, 14, 21, 45, 79, 459, 999];
20 changes: 20 additions & 0 deletions JAVASCRIPT/Algorithms/pallindrome.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const checkPallindrome = (value) => {
const len = value.length;

for (let i = 0; i < len / 2; i++) {
if (value[i] !== value[len - 1 - i]) {
return false;
}
}
return true;
};

const checkPallindrome2 = (value) => {
const data = typeof value === "number" ? value.toString() : value;
return data === data.toString().split("").reverse().join("");
};

// console.log(checkPallindrome(456789313987654)); // Output: true
// console.log(checkPallindrome2(456789313987654)); // Output: true
// console.log(checkPallindrome("456789313987654")); // Output: true
// console.log(checkPallindrome2("456789313987654")); // Output: true
15 changes: 15 additions & 0 deletions JAVASCRIPT/Algorithms/quickSort.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const quickSort = (arr) => {
if (arr.length <= 1) return arr;

let pivot = arr[0],
leftArr = [],
rightArr = [];

for (var i = 1; i < arr.length; i++) {
arr[i] < pivot ? leftArr.push(arr[i]) : rightArr.push(arr[i]);
}

return quickSort(leftArr).concat(pivot, quickSort(rightArr));
};

console.log(quickSort([45, 3, 79, 14, 459, 21, 999])); // Output: [3, 14, 21, 45, 79, 459, 999];
16 changes: 16 additions & 0 deletions JAVASCRIPT/Algorithms/selectionSort.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const selectionSort = (arr) => {
const len = arr.length;

for (let i = 0; i < len; i++) {
let min = i;
for (let j = i + 1; j < len; j++) {
if (arr[j] < arr[min]) min = j;
}
if (min != i) {
[arr[i], arr[min]] = [arr[min], arr[i]];
}
}
return arr;
};

// console.log(selectionSort([45, 3, 79, 14, 459, 21, 999])); // Output: [3, 14, 21, 45, 79, 459, 999];