代码实现:
package stack;
public class LinkListStackDemo {
public static void main(String[] args) {
LinkListStack stack = new LinkListStack();
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println("------");
stack.show();
System.out.println("------");
stack.pop();
stack.pop();
stack.pop();
stack.pop();
}
}
class LinkListStack {
private Node first;
private Node top;
public LinkListStack(){
first = new Node();
top = first;
}
public boolean isEmpty(){
return top == first;
}
public void push(int value){
Node node = new Node(value);
if(first == null){
first = node;
}
top.next= node;
node.pes = top;
top = top.next;
}
public void pop(){
if(isEmpty()){
System.out.println("栈空");
return;
}
System.out.println(top.value);
top = top.pes;
top.next = null;
}
public void show(){
Node node = top;
while(true){
if(node == null){
break;
}
if(node == first){
break;
}
System.out.println(node.value);
node = node.pes;
}
}
}
class Node{
int value;
Node pes;
Node next;
public Node(){
}
public Node(int value){
this.value = value;
}
}