1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
trait PriorityTree { type Node <: BasicTreeNode; val top = initTree; top.next = (initTree); top.next.prev = (top); def initTree : Node; trait BasicTreeNode { private[PriorityTree] var next : Node = _; private[PriorityTree] var prev : Node = _; private[PriorityTree] var chld : Node = _; //var next : Node = _; //var prev : Node = _; //var chld : Node = _; } }