基础数据结构:堆栈
维基百科
堆栈(英语:stack)又称为栈或堆叠,是计算机科学中的一种抽象数据类型,只允许在有序的线性数据集合的一端(称为堆栈顶端,英语:top)进行加入数据(英语:push)和移除数据(英语:pop)的运算。因而按照后进先出(LIFO, Last In First Out)的原理运作。
常与另一种有序的线性数据集合队列相提并论。
堆栈常用一维数组或链表来实现。
实现
java实现
public class Stack {
private Node top;
public Stack(){
this.top = null;
}
public void push(String data){
Node n = new Node(data);
if (top != null){
n.setNext(top);
}
top = n;
}
public String pop(){
if (top == null){
return null;
}else {
String tmp = top.getData();
top = top.getNext();
return tmp;
}
}
public boolean isEmpty(){
return top == null;
}
@Override
public String toString(){
if (isEmpty()){
return null;
}else {
return top.toString();
}
}
}
Node类与链表中的Node类相同