
棧在生活中的實(shí)例特別常見,比如說火車進(jìn)入終點(diǎn)站,車廂一依次進(jìn)入,當(dāng)出站時車頭變車尾,車尾變車頭。但是這個比喻漏掉棧的一個重要特性,接下來這個例子作為補(bǔ)充,辦公室里使用一個文件盒存放待處理的簡歷,優(yōu)先處理最上面的,這就涉及到了棧的第二個特性,棧頂。


class XStack{
public int maxSize;
public int stackArray[];
public int top;
public XStack(int maxSize){
this.maxSize=maxSize;
stackArray=new int[maxSize];
top=-1;//此時棧為空
}
//push 推進(jìn),將元素推入
public void push(int num){
stackArray[++top]=num;
}
//出棧
public int pop(){
return stackArray[top--];
}
//插看棧頂元素
public int check(){
return stackArray[top];
}
//判空
public boolean isEmpty(){
if(top==-1){
return true;
}
return false;
}
//判滿
public boolean isFull(){
if(top==maxSize-1){
return true;
}
return false;
}
}
//在這個類中,將Stack實(shí)例化
public class XStackApplication{
public static void main(String[] args){
XStack xStack=new XStack(6);
xStack.push(10);
xStack.push(11);
xStack.push(12);
xStack.push(13);
xStack.push(14);
System.out.println(xStack.check());
System.out.println(xStack.isFull());
}
}
