diff --git a/sorts/sleep_sort.py b/sorts/sleep_sort.py new file mode 100644 index 000000000000..966fa6d767b0 --- /dev/null +++ b/sorts/sleep_sort.py @@ -0,0 +1,19 @@ +from time import sleep +from threading import Timer + +def sleepsort(values): + sleepsort.result = [] + def add1(x): + sleepsort.result.append(x) + mx = values[0] + for v in values: + if mx < v: mx = v + Timer(v, add1, [v]).start() + sleep(mx+1) + return sleepsort.result + +numbers = [2,4,6,8,10,9,7,5,3,1] +print(numbers) + +numbers = sleepsort(numbers) +print(numbers) \ No newline at end of file