package basic;
//ջ
public class Stack {
private Node first;
private Node last;
private int size = 0;
// 出栈
private void pop() {
removeLast();
}
// 入栈
private void push(Object o) {
addLast(o);
}
private boolean isEmpty(){
if(size==0){
return true;
}else{
return false;
}
}
private int size(){
return size;
}
private void removeLast(){
final Node f = last.prev;
last = f;
f.next =null;
}
private void addLast(Object o){
final Node f= first;
final Node l = last;
final Node newNode = new Node(o, last, null);
if(f==null){
first =newNode;
}else{
l.next = newNode;
}
size++;
}
private static class Node {
Object data;
Node next;
Node prev;
public Node(Object o, Node n, Node p) {
this.data = o;
this.prev = p;
this.next = n;
}
}
}