栈在生活中的实例特别常见,比如说火车进入终点站,车厢一依次进入,当出站时车头变车尾,车尾变车头。但是这个比喻漏掉栈的一个重要特性,接下来这个例子作为补充,办公室里使用一个文件盒存放待处理的简历,优先处理最上面的,这就涉及到了栈的第二个特性,栈顶。
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());
}
}
代码运行截图
本文通过生活中常见的例子介绍了栈数据结构的基本概念,如火车进站和办公室处理简历等,并提供了一个简单的栈实现,包括栈的基本操作如压栈(push)、弹栈(pop)、查看栈顶(check)、判断是否为空(isEmpty)及是否已满(isFull)。
2595

被折叠的 条评论
为什么被折叠?



