Java链式栈逆置
时间: 2024-02-22 18:55:44 浏览: 138
实现Java链式栈逆置可以通过以下步骤:
1. 定义一个链式栈类,包括节点类和栈类。
2. 创建一个新的空栈,用于存放逆置后的元素。
3. 依次从原栈中弹出元素,并将其压入新栈中。
4. 最后返回新栈作为逆置后的结果。
下面是Java链式栈逆置的示例代码:
```java
public class Node {
private int data;
private Node next;
public Node(int data) {
this.data = data;
}
public int getData() {
return data;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
public class LinkedStack {
private Node top;
public LinkedStack() {
top = null;
}
public boolean isEmpty() {
return top == null;
}
public void push(int data) {
Node newNode = new Node(data);
newNode.setNext(top);
top = newNode;
}
public int pop() {
int data = top.getData();
top = top.getNext();
return data;
}
public int peek() {
return top.getData();
}
public LinkedStack reverse() {
LinkedStack reversedStack = new LinkedStack();
while (!isEmpty()) {
reversedStack.push(pop());
}
return reversedStack;
}
}
public class Main {
public static void main(String[] args) {
LinkedStack stack = new LinkedStack();
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
LinkedStack reversedStack = stack.reverse();
while (!reversedStack.isEmpty()) {
System.out.println(reversedStack.pop());
}
}
}
```
上述代码中,我们定义了一个链式栈类 LinkedStack,包括节点类 Node 和栈类 LinkedStack。其中 reverse() 方法实现了栈的逆置,返回一个新的逆置后的栈。在 main() 方法中,我们创建了一个栈,压入了四个元素,并将其逆置后输出。
阅读全文