编写java程序使用LinkedList构造“栈”(stack)数据结构并测试
时间: 2024-01-30 07:04:20 浏览: 79
Java用LinkedList实现的Stack
好的,下面是Java程序实现:
```java
import java.util.LinkedList;
public class Stack {
private LinkedList<Object> stack;
public Stack() {
stack = new LinkedList<>();
}
public void push(Object obj) {
stack.addFirst(obj);
}
public Object pop() {
return stack.removeFirst();
}
public Object peek() {
return stack.getFirst();
}
public boolean isEmpty() {
return stack.isEmpty();
}
public int size() {
return stack.size();
}
public static void main(String[] args) {
Stack stack = new Stack();
stack.push("one");
stack.push("two");
stack.push("three");
System.out.println("Size: " + stack.size());
System.out.println("Top of stack: " + stack.peek());
while (!stack.isEmpty()) {
System.out.println(stack.pop());
}
}
}
```
这个程序使用LinkedList实现了栈数据结构。使用`push`方法可以将元素添加到栈顶,使用`pop`方法可以弹出栈顶元素并返回它,使用`peek`方法可以返回栈顶元素但不弹出它。`isEmpty`方法用于检查栈是否为空,`size`方法返回栈中元素的数量。
在`main`方法中,我们首先创建了一个新的栈,并使用`push`方法添加了三个元素。然后我们测试了`size`和`peek`方法,最后使用`pop`方法弹出栈中的元素并打印它们。
阅读全文