下面是一个示例代码,演示了如何编写一个Java动态栈链表的push方法:
public class DynamicStackLinkedList {
private Node top; // 栈顶元素
private int size; // 栈的大小
private static class Node {
private T data; // 数据
private Node next; // 下一个节点
public Node(T data) {
this.data = data;
}
}
public DynamicStackLinkedList() {
top = null;
size = 0;
}
public void push(T data) {
Node newNode = new Node<>(data); // 创建一个新节点
newNode.next = top; // 将新节点的next指向当前的栈顶元素
top = newNode; // 将新节点设置为栈顶元素
size++; // 栈的大小加1
}
// 其他方法(例如pop、isEmpty等)...
}
在上面的代码中,我们创建了一个名为DynamicStackLinkedList
的类,它包含一个私有内部类Node
,用于表示链表中的节点。DynamicStackLinkedList
类有一个指向栈顶元素的引用top
,以及一个表示栈的大小的属性size
。
在push
方法中,我们首先创建一个新的节点newNode
,将它的data
属性设置为传入的数据。然后,我们将新节点的next
指向当前的栈顶元素,以便将其插入到栈顶。最后,我们将新节点设置为栈顶元素,并将栈的大小加1。
请注意,此示例代码仅演示了如何编写push
方法。您还可以根据需要实现其他方法,例如pop
、isEmpty
等。