本教程的内容基本来自于《Java数据结构与算法》
栈是一种先进后出的数据结构,如下图。
第一个压入的元素总是在栈底,最后压入的元素总是在栈顶,结构就像盒子装东西一样。压入元素称为入栈,取出元素称为出栈。
使用数组来实现一个栈,只需使用一个指向栈顶的指针即可。
1.初始化栈
class Stack{
private int maxSize; //栈的最大存储
private int[] arr; //内部数组
private int top; //栈顶指针
public Stack(int maxSize){
this.maxSize = maxSize;
arr = new int[maxSize];
top = -1;
}
}
2.栈是否为空
public boolean isEmpty(){ //判断栈是否为空
return top==-1;
}
3.栈是否满了
public boolean isFull(){ //判断栈是否满了
return top==maxSize-1;
}
4.入栈
public boolean push(int key){ //入栈
//判断栈是否满了
if (isFull())
return false;
arr[++top] = key; //每压入一个元素,top指针加1
return true;
}
5.出栈
public int pop(){ //出栈
return arr[top--]; //返回栈顶元素,top指针减1
}
6.查看栈顶元素
public int peek() { //查看栈顶元素
return arr[top];
}
github完整代码:
https://github.com/gamersover/data_structure_java/blob/master/Stack/StackApp.java

本文详细介绍如何用Java实现栈这种先进后出的数据结构。通过数组实现栈,并提供了初始化、判断空满状态、入栈、出栈及查看栈顶元素等核心操作的代码示例。

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



