我希望了解如何以最佳的功能方式使用队列。例如,我想使用递归函数出队元素并将它们打印出来。我希望这个函数是最好的。
例如,这是一个实现我所需功能的函数。但我不喜欢if语句。
有没有更好的方法来使用队列?
import scala.collection.immutable.Queue
def printQ[A](p:Queue[A]) {
if(!p.isEmpty) {
p.dequeue match {
case (x,xs) =>
println(x.toString)
printQ(xs)
case _ =>
println("End")
}
}
}
printQ(Queue(1,2,4,5))
感谢回复。
immutable.Queue
的一个未记录特性。 - Rex Kerr!p.isEmpty
可以被替换为p.nonEmpty
。这样更加优雅 ;) - metch