mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-23 04:32:45 +08:00
19 lines
551 B
JavaScript
19 lines
551 B
JavaScript
/*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);
|