我正在尝试解决Scala中的一个问题.传统的解决方案需要堆栈,但到目前为止还没有在类中引入堆栈.仅列出了清单.我的问题是如何将列表视为堆栈?换句话说,我如何模仿列表中的推送和弹出元素?
我希望这会表明这个想法:
scala> val x = List(1,2,3)
x: List[Int] = List(1, 2, 3)
scala> val pushed0 = 0::x
push3: List[Int] = List(0, 1, 2, 3)
scala> val pop0 = pushed0.head
pop3: Int = 0
// it is actually more peek than fair pop
scala> val stackAfterPop = pushed0.tail
stackAfterPop: List[Int] = List(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
当你熟悉模式匹配时,它实际上会有更好的语法(下周我猜):
scala> val popped::stack = pushed0
popped: Int = 0
stack: List[Int] = List(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1979 次 |
| 最近记录: |