Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,19 @@
open System
let show data = data |> Array.iter (printf "%d ") ; printfn ""
let split (data: int[]) pos = data.[0..pos], data.[(pos+1)..]
let flip items pos =
let lower, upper = split items pos
Array.append (Array.rev lower) upper
let pancakeSort items =
let rec loop data limit =
if limit <= 0 then data
else
let lower, upper = split data limit
let indexOfMax = lower |> Array.findIndex ((=) (Array.max lower))
let partialSort = Array.append (flip lower indexOfMax |> Array.rev) upper
loop partialSort (limit-1)
loop items ((Array.length items)-1)