用java代码表示链表实现栈
时间: 2023-08-10 20:54:59 浏览: 47
下面是使用Java代码实现链表实现栈的示例:
```java
public class LinkedListStack<T> {
private Node<T> top; // 栈顶元素
private int size; // 栈的大小
// 节点类
private static class Node<T> {
private T data; // 数据
private Node<T> next; // 下一个节点
public Node(T data) {
this.data = data;
}
}
// 入栈
public void push(T data) {
Node<T> newNode = new Node<>(data);
if (isEmpty()) {
top = newNode;
} else {
newNode.next = top;
top = newNode;
}
size++;
}
// 出栈
public T pop() {
if (isEmpty()) {
throw new EmptyStackException();
}
T data = top.data;
top = top.next;
size--;
return data;
}
// 获取栈顶元素
public T peek() {
if (isEmpty()) {
throw new EmptyStackException();
}
return top.data;
}
// 判断栈是否为空
public boolean isEmpty() {
return size == 0;
}
// 获取栈的大小
public int size() {
return size;
}
}
```
你可以使用以下代码进行测试:
```java
public class Main {
public static void main(String[] args) {
LinkedListStack<Integer> stack = new LinkedListStack<>();
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println("栈顶元素:" + stack.peek()); // 输出:3
System.out.println("栈的大小:" + stack.size()); // 输出:3
while (!stack.isEmpty()) {
System.out.println(stack.pop()); // 依次输出:3 2 1
}
}
}
```
希望这可以帮助到你!