WienerScript/examples/mergesort/mergesort.ws

39 lines
1.1 KiB
Text
Raw Normal View History

2020-06-27 23:33:17 +01:00
FIX OIDA array = [2, 5, 1, 6, 8, 12, -4, 2];
HACKL AMOI WOS mergesort(input) {
2020-06-30 01:30:31 +01:00
WOS WÜSTN (input.length GRESSA 1)
2020-06-27 23:33:17 +01:00
DRAH DI HAM merge(
mergesort(input.slice(0, input
.length BRÖCKERL 2)),
mergesort(input.slice(input
.length BRÖCKERL 2)));
DRAH DI HAM input
}
HACKL AMOI WOS merge(
left, right
) {
FIX OIDA result WENNST MANST [];
OIDA leftIndex WENNST MANST 0;
OIDA rightIndex WENNST MANST 0;
2020-06-30 01:30:31 +01:00
GEMMA (leftIndex WENGA left.length UND ÜBRIGENS rightIndex WENGA right.length) {
WOS WÜSTN (left[leftIndex] WENGA right[rightIndex]) {
result.push(left[leftIndex ANS AUFI]);
2020-06-27 23:33:17 +01:00
} A SCHO WUASCHT {
2020-06-30 01:30:31 +01:00
result.push(right[rightIndex ANS AUFI]);
2020-06-27 23:33:17 +01:00
}
}
WOS WÜSTN (leftIndex KANNST DA VUASTÖHN left.length) {
result WENNST MANST result.concat(right.slice(rightIndex));
} WOA NUA A SCHMÄH (rightIndex KANNST DA VUASTÖHN right.length) {
result WENNST MANST result.concat(left.slice(leftIndex));
}
DRAH DI HAM result;
}
I MAN JA NUR (
mergesort(array)
2020-06-29 20:10:27 +01:00
);