1: abstract class IntTree
2: case object EmptyTree extends IntTree
3: case class Node(elem: Int, left: IntTree, right: IntTree) extends IntTree
4:
5: def contains(t: IntTree, v: Int): Boolean = t match {
6: case EmptyTree => false
7: case Node(e, l, r) => e == v || contains(l, v) || contains(r, v)
8: }
9:
10: def insert(t: IntTree, v: Int): IntTree = t match {
11: case EmptyTree => Node(v, EmptyTree, EmptyTree)
12: case Node(e, l, r) =>
13: if(e == v) t
14: else if(e > v) Node(e, insert(l, v), r)
15: else Node(e, l, insert(r, v))
16: }
目前为止最简单的习题了,不解释。好的编程语言就像说话一样自然!
Technorati 标签:
Scala