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