Programmtransformationen (II)

suchbaum (x : xs) = 
   let ( low, high ) = partition ( < x ) xs
   in  Node { key   = x
            , left  = suchbaum low
            , right = suchbaum high
            }
inorder ( Node { } ) =
    inorder (left t) ++ [ key t ] ++ inorder (right t)

sort (x : xs) = inorder (suchbaum (x : xs)) = 
   let ( low, high ) = partition ( < x ) xs
   in  inorder (suchbaum low) 
         ++ [ x ] ++ inorder (suchbaum high)
sort (x : xs) = 
   let ( low, high ) = partition ( < x ) xs
   in  sort low ++ [ x ] ++ sort high



Johannes Waldmann 2007-06-21