let rec
qsort = function | [] -> [] | h
::t -> qsort [for e in h
do if (e
<= h
) then yield e
] @ [h] @
qsort [for e in h
do if (e
> h
) then yield e
]
let r = new System.Randon()
let main() =
let sample = List.init 300 (fun _-> r.Next(int.MaxValue))
System.
Console.
WriteLine(qsort sample
)
bGV0IHJlYyBxc29ydCA9IGZ1bmN0aW9uIHwgW10gICAtPiBbXQogICAgICAgICAgICAgICAgICAgICAgICAgfCBoOjp0IC0+IHFzb3J0IFtmb3IgZSBpbiBoIGRvIGlmIChlIDw9IGgpIHRoZW4geWllbGQgZV0gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQCBbaF0gQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHFzb3J0IFtmb3IgZSBpbiBoIGRvIGlmIChlID4gaCkgdGhlbiB5aWVsZCBlXSAKCmxldCByID0gbmV3IFN5c3RlbS5SYW5kb24oKQoKbGV0IG1haW4oKSA9IAogICAgICAgIGxldCBzYW1wbGUgPSBMaXN0LmluaXQgMzAwIChmdW4gXy0+IHIuTmV4dChpbnQuTWF4VmFsdWUpKQogICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZShxc29ydCBzYW1wbGUpCQ==