通过将LinkedList作为堆栈进行管理,可以使用LinkedList实现堆栈。这是通过使用一类堆栈包含一些的堆栈的方法,例如完成push()
,top()
,pop()
等。
演示此的程序如下所示-
import java.util.LinkedList; class Stack { private LinkedList l = new LinkedList(); public void push(Object obj) { l.addFirst(obj); } public Object top() { return l.getFirst(); } public Object pop() { return l.removeFirst(); } } public class Demo { public static void main(String[] args) { Stack s = new Stack(); s.push(5); s.push(1); s.push(3); s.push(9); s.push(7); System.out.println("The top element of the stack is: " + s.top()); System.out.println("The stack element that is popped is: " + s.pop()); System.out.println("The stack element that is popped is: " + s.pop()); System.out.println("The top element of the stack is: " + s.top()); } }
输出结果
The top element of the stack is: 7 The stack element that is popped is: 7 The stack element that is popped is: 9 The top element of the stack is: 3
现在让我们了解上面的程序。
一类堆栈创建包含一些的堆栈的方法,例如push()
,top()
,pop()
等等的代码段这表明这是如下-
class Stack { private LinkedList l = new LinkedList(); public void push(Object obj) { l.addFirst(obj); } public Object top() { return l.getFirst(); } public Object pop() { return l.removeFirst(); } }
在该方法中main()
,将创建Stack类的对象s。然后,将其用于将元素推入堆栈,显示堆栈中的顶部元素和弹出元素。演示这的代码片段如下-
public static void main(String[] args) { Stack s = new Stack(); s.push(5); s.push(1); s.push(3); s.push(9); s.push(7); System.out.println("The top element of the stack is: " + s.top()); System.out.println("The stack element that is popped is: " + s.pop()); System.out.println("The stack element that is popped is: " + s.pop()); System.out.println("The top element of the stack is: " + s.top()); }