栈在生活中的实例特别常见,比如说火车进入终点站,车厢一依次进入,当出站时车头变车尾,车尾变车头。但是这个比喻漏掉栈的一个重要特性,接下来这个例子作为补充,办公室里使用一个文件盒存放待处理的简历,优先处理最上面的,这就涉及到了栈的第二个特性,栈顶。
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 推进,将元素推入
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实例化
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());
}
}