从Stack中取出第二个元素
我正在学习Scala。然而,在练习中,我对堆栈有一些问题。如何从堆栈中删除第二个元素。我必须删除第二个元素并放回顶部元素。
感谢您的提前
I am learning Scala. However, on the exercise, I have some problem with Stack. How can I remove the second element from stack. I have to remove second element and put back the top element.
Thanks your advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我不知道 scala 但通常你会
保存第一个元素,将第二个元素弹出到涅槃
然后再次将第一个元素推到顶部
i dont know scala but normally you would do
save the first element, pop the second one to nirvana
and then push the first element on top again
我对 Scala 一无所知,但堆栈就是堆栈。
在堆栈上调用
pop
并将返回值分配给临时变量,然后再次弹出并推回您在第一次调用pop
时分配的元素。伪代码:
I know nothing about Scala, but a stack is a stack.
Call
pop
on the stack and assign the returned value to a temporary variable, then pop again and push back the element you assigned with the first call totpop
.Pseudo code:
Stack 和 List 之间没有太大区别,Scala API 文档也说明了这一点。
如果使用列表,另一种方法是:
结果的显式类型是为了清晰起见。这样做的优点是,如果没有第二项,您不会抛出异常,并且这是如何使用模式匹配的一个很好的示例。
Not much difference between a Stack and a List, and the Scala API documentation says this as well.
If using a List, a different approach to this is:
The explicit type on the result is for clarity. The advantage to this is you wont throw an exception if there is no second item, and it is a decent example of how to use pattern matching.