Sorting Algorithms/Circle Sort: Difference between revisions

Content added Content deleted
(→‎{{header|Haskell}}: Changed Haskell implementation, removed monadic stuff, and cleaned)
m (→‎{{header|Haskell}}: Remove prime (') usage as it was breaking the syntax highlighting)
Line 994: Line 994:
go d [x] (s,ks) = (s,x:ks)
go d [x] (s,ks) = (s,x:ks)
go d xs (s,ks) =
go d xs (s,ks) =
let (s',_,ls,rs) = halve d s xs xs
let (st,_,ls,rs) = halve d s xs xs
in go False ls (go True rs (s',ks))
in go False ls (go True rs (st,ks))
halve d s (y:ys) (_:_:zs) = swap d y (halve d s ys zs)
halve d s (y:ys) (_:_:zs) = swap d y (halve d s ys zs)