package com.java.chapterFive;
public class LinkStackApp {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
StackList stack=new StackList();
stack.push(20);
stack.push(60);
stack.push(30);
stack.push(40);
stack.displayStack();
stack.pop();
stack.pop();
stack.pop();
stack.displayStack();
}
}
class LinkA{
int data;
LinkA next;
LinkA(int a){
this.data=a;
}
}
////////////////////////////////////////////////////////////////////////////////
class linkListA{
LinkA first;
//------------------------------------初始化链表都要赋值为空
linkListA(){
first=null;
}
//------------------------------------------------
public void insertLink(int a){
LinkA newLink=new LinkA(a);
newLink.next=first;
first=newLink;
}
//--------------------------------------------------------
public boolean isEmpty(){
return (first==null);
}
//----------------------------------------------------
public int deleteLink(){
int temp=first.data;
first=first.next;
return temp;
}
//-----------------------------------------------
public void displayList(){
LinkA current=first;
while(current!=null){
System.out.print(current.data+" ");
current=current.next;
}
System.out.println(" ");
}
}
///////////////////////////////////////////////////////////////////////////
class StackList{
linkListA linkListA;
StackList(){
linkListA=new linkListA();
}
//------------------------------------------
public void push(int a){
linkListA.insertLink(a);
}
//-------------------------------
public int pop(){
return linkListA.deleteLink();
}
//----------------------------------------
public void displayStack(){
System.out.print("(Stack---->bottom)");
linkListA.displayList();
}
//--------------------------------判断栈是否为空
public boolean isEmpty(){
return linkListA.isEmpty();
}
}