概念
栈是一种非常常见的数据结构,它可以用来实现元素先进后出操作在程序设计中,栈有很多重要的应用,例如字符串反转,实现四则运算等等
例如:
//定义一个最简单的栈结构,实现了其入栈,出栈和判空操作
代码如下:
ava提供了一个stack类,该类因为继承vector类不是一个纯碎的栈
public class Stack {
//数组保存入栈的元素
private Object[] num=new Object[10];
//使用整数作为指针表示数组的使用情况
private int index=0;
//向栈增加元素的方法
public void push(Object o) {
//如果数组中还有可用空间位置,则增加元素
if (index!=num.length) {
//在增加完一个元素后将指针后移一位
num[index++]=0;
}
}
//向栈删除元素的方法
public Object pop() {
//如果数组中还有可用空间,则删除元素
if (index!=-1) {
//在增加完一个元素将指针前移一位
return num[--index];
}
//数组中没有元素
return null;
}
//判断数组中是否有可用元素
public boolean empty() {
if (index==0) {
//如果没有则返回true
return true;
} else {
//如果有返回false
return false;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Stack stack=new Stack();
System.out.println("栈中的元素");
System.out.println("小明");
System.out.println("小花");
stack.push("张佳");
stack.push("张三");
stack.push("张民");
System.out.println("向栈中提取元素");
while (!stack.empty()) {
System.out.println(stack.pop());
}
}
}