从Java中的LinkedList实现堆栈
通过将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());
}