Added Sleep Sort

This commit is contained in:
saurabhbazzad
2019-10-21 23:13:16 +05:30
committed by GitHub
parent dfacd257e1
commit 0b544c66c5

18
Sorts/SleepSort.js Normal file
View File

@ -0,0 +1,18 @@
/*Sleep sort is a sorting algorithm in which, for every element
to be sorted, we set a timeout for the value of that element.
After the timeout is over, we print the value of the element.
Hence the output is printed in the sorted order.
*/
Array.prototype.sleepSort = function(callback_function) {
const arr = [];
for (let n of this)
setTimeout(() => {
arr.push(n);
if (this.length === arr.length)
callback_function(arr);
}, n + 1);
return arr;
};
[1, 9, 8, 7, 6, 5, 3, 4, 5, 2, 0].sleepSort(console.log);