let shakerSort () = let a = [| 9 ; 8 ; 7 ; 6 ; 5 ; 4 ; 3 ; 2 ; 1 ; 0 |] let mutable l = 1 let mutable r = a . Length - 1 let mutable k = r let mutable x = a .[ 0 ] let mutable cond = true while cond do for j = r downto l do if a .[ j - 1 ] > a .[ j ] then x <- a .[ j - 1 ]; a .[ j - 1 ] <- a .[ j ]; a .[ j ] <- x ; k <- j else () l <- k + 1 for j = l to r do if a .[ j - 1 ] > a .[ j ] then x <- a .[ j - 1 ]; a .[ j - 1 ] <- a .[ j ]; a .[ j ] <- x ; k <- j else () r <- k - 1 cond <- ( l < r ) printfn "%A" a do shakerSort ()
t.me/perfect0sight