链式栈就是基于单链表的栈
单链表的代码
主类和[单链表反转(JAVA)]一致(https://blog.csdn.net/cedarjo/article/details/88421448)
这里把代码再放一边,主要区别是把node
单列出来,以及在单链表主类中加入了从头从尾的增删节点代码
SinglyLinkedNode
public class SinglyLinkedNode<T> {
private T data;
private SinglyLinkedNode<T> next;
public SinglyLinkedNode(T data) {
this.data = data;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public SinglyLinkedNode<T> getNext() {
return next;
}
public void setNext(SinglyLinkedNode<T> next) {
this.next = next;
}
@Override
public String toString() {
return "current : " + data;
}
}
SinglyLinkedList
public class SinglyLinkedList<T> {
private SinglyLinkedNode<T> header;
private int size;
public SinglyLinkedNode<T> getHeader() {
return header;
}
public int getSize() {
return size;
}
/**
* 从尾加元素
* @param element
* @return
*/
public SinglyLinkedNode<T> addToTail(T element) {
SinglyLinkedNode<T> newNode = new SinglyLinkedNode<>(element);
if (this.header == null) {
this.header = newNode;
} else {
SinglyLinkedNode<T> current = this.header;
while (current.getNext()