Sorting algorithms/Sleep sort: Difference between revisions

Content added Content deleted
(added bash version of sleep sort)
Line 331: Line 331:


=={{header|Dart}}==
=={{header|Dart}}==
<lang dart>import 'dart:async';
<lang dart>
void main() async {
Future<void> sleepsort(Iterable<int> input) => Future.wait(input
.map((i) => Future.delayed(Duration(milliseconds: i), () => print(i))));


await sleepsort([3, 10, 2, 120, 122, 121, 54]);
Future<List<int>> sleepsort(List<int> input) {
List<Future<int>> tasks = [];
List<int> result = [];
for (int i in input) {
tasks.add(new Future.delayed(new Duration(seconds: i), () {
result.add(i);
}));
}
return Future.wait(tasks).then((_) {
return result;
});
}
}

sleepsort.sleepsort([3, 1, 2]).then((List<int> sorted) {
print(sorted);
});
</lang>
</lang>
{{out}}
{{out}}
<pre>1 2 3</pre>
<pre>
2
3
10
54
120
121
122
</pre>


=={{header|Delphi}}==
=={{header|Delphi}}==