2009-11-10 60 views

回答

1

这将取决于执行。

推送通常不会返回任何内容,因为它会将您提供给堆栈的项目添加进去。相应的Pop操作将从堆栈顶部移除项目并将其返回。

0

我认为这完全取决于堆栈的实现。某些实现可能返回任何结果,别人一个布尔值,其他的还是栈对象本身链接:

stack.push(element1).push(element2); 
1

它不应该返回任何东西。例如,在.Net中,它定义为as a void function

+0

它在Java中返回什么? – 2009-11-10 09:09:46

+0

它返回刚刚推送的对象:http://java.sun.com/j2se/1.4.2/docs/api/java/util/Stack.html#push%28java.lang.Object%29 – 2009-11-10 09:23:09

0

我同意这里的其他人的返回值是无效的。然而,你的实现可能包含一个计数器来跟踪元素被添加到Stack的特定对象的次数。那些贪婪代码优化的人可能会感兴趣。它可以帮助评估当前的堆栈实现并优化初始大小分配(如果它是基于阵列的),根据原始系统中开发的模块在一段时间内的发展情况来提高性能。