栈是一种先进后出的数据结构,栈有栈顶和栈底,开始没有数据的时候栈顶和栈底都是没有的(-1),后面加入数据加入最新的数据,都放到栈顶,最先放的那个数据放到栈底,实现栈的增加和删除都是在栈顶进行操作的。
下面是简单实现压栈,出栈,读取栈顶数据的一段代码
public class MyStack {
Object stackArray[];
int maxsize;
int top;
public MyStack(int maxsize) {
this.maxsize=maxsize;
stackArray = new Object[maxsize];
top = -1;
}
//压栈
public void push(Object date) {
if(!isFull()){
stackArray[++top]=date;
}
}
//出栈
public Object pop() {
if(!isEmpty){
return stackArray[--top];
}
}
//判断是否为空栈
public boolean isEmpty() {
return top == -1;
}
//判断栈是否满
public boolean isFull() {
return top == maxsize-1;
}
//读取栈顶的数据
public Object peek() {
return stackArray[top];
}
public static void mian(String[] args)
{
String a = "fafavasw";
MyStack mystack = new MyStack(a.length());
for(int i=0;i<a.length();i++) {
mystack.push(a.charAt(i));
}
}
}
}