let rec
qsort = function | [] -> [] | h
::t -> qsort (List.
filter ((>=) h
) t
) @ [h] @
qsort (List.
filter ((<) h
) t
)
[<EntryPoint>]
let main args =
let sample = let r = new System.Random()
in List.init 300 (fun _-> r.Next(System.Int32.MaxValue))
System.
Console.
WriteLine(qsort sample
) 0
bGV0IHJlYyBxc29ydCA9IGZ1bmN0aW9uIHwgW10gICAtPiBbXQogICAgICAgICAgICAgICAgICAgICAgICAgfCBoOjp0IC0+IHFzb3J0IChMaXN0LmZpbHRlciAoKD49KSBoKSB0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAgW2hdIEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxc29ydCAoTGlzdC5maWx0ZXIgKCg8KSBoKSB0KQoKCls8RW50cnlQb2ludD5dCmxldCBtYWluIGFyZ3MgPSAKICAgICAgICBsZXQgc2FtcGxlID0gbGV0IHIgPSBuZXcgU3lzdGVtLlJhbmRvbSgpIAogICAgICAgICAgICAgICAgICAgICAgaW4gTGlzdC5pbml0IDMwMCAoZnVuIF8tPiByLk5leHQoU3lzdGVtLkludDMyLk1heFZhbHVlKSkKICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUocXNvcnQgc2FtcGxlKSAKICAgICAgICAw