如何删除并打印 IntStack 对象中的每个项目直到它为空?
How to remove and print every item in an IntStack object until it is empty?
我无法弄清楚如何删除和打印 IntStack 对象中的每个项目,直到它为空。我需要使用 if 语句吗?我知道堆栈的基础知识,例如:
假设 s 指的是一个 IntStack 对象。
如果我想将值 100 添加到 s 的顶部,我只需使用 s.push(100)
如果我想删除并打印 s 的最高值,我会使用 s.pop()
如果我想打印最高值而不删除它,我会使用 s.peek()
一旦我尝试删除并打印 s 中的每个项目直到它为空,我 运行 就遇到了麻烦。
假设当堆栈中没有任何内容时,s.peek() 将 return null
,
while(s.peek() != null){
System.out.println(s.pop());
}
即使 InStack 是某个第三方堆栈,根据所讨论的描述,它实现了所有标准堆栈方法,因此以下应该有效。
public void print(Stack s)
{
while(!s.isEmpty())
{
System.out.println(s.pop());
}
}
我无法弄清楚如何删除和打印 IntStack 对象中的每个项目,直到它为空。我需要使用 if 语句吗?我知道堆栈的基础知识,例如: 假设 s 指的是一个 IntStack 对象。
如果我想将值 100 添加到 s 的顶部,我只需使用 s.push(100)
如果我想删除并打印 s 的最高值,我会使用 s.pop()
如果我想打印最高值而不删除它,我会使用 s.peek()
一旦我尝试删除并打印 s 中的每个项目直到它为空,我 运行 就遇到了麻烦。
假设当堆栈中没有任何内容时,s.peek() 将 return null
,
while(s.peek() != null){
System.out.println(s.pop());
}
即使 InStack 是某个第三方堆栈,根据所讨论的描述,它实现了所有标准堆栈方法,因此以下应该有效。
public void print(Stack s)
{
while(!s.isEmpty())
{
System.out.println(s.pop());
}
}