Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def encode(tree: CodeTree)(text: List[Char]): List[Bit] = {
- def encodeChar(partial: CodeTree)(char: Char)(encoded: List[Bit]): List[Bit] = partial match {
- case Leaf(_, _) => encoded
- case Fork(left, right, c, w) =>
- if (chars(left).contains(char)) 0 :: encodeChar(left)(char)(encoded)
- else 1 :: encodeChar(right)(char)(encoded)
- }
- text.flatMap(c => encodeChar(tree)(c)(List[Bit]()))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement