Java 堆栈-用数组实现堆栈
使用数组结构来设计一个Java程序,并使用循环来控制准备压入或弹出的元素,并仿真堆栈的各种操作。包括压入(push)与弹出(pop)函数,最后还要输出堆栈内所有的元素。
StackByArray.java
package basic;
class StackByArray {
private int[] stack;
private int top;
public StackByArray(int stack_size) {
stack=new int[stack_size];
top=-1;
}
public boolean push(int data) {
if(top>=stack.length) {
System.out.println("堆栈已满,无法再压入");
return false;
}
else {
stack[++top]=data;
return true;
}
}
public boolean empty() {
if(top==-1) return true;
else return false;
}
public int pop() {
if(empty()) {
return -1;
}else {
return stack[top--];
}
}
}
test1.java
package basic;
import java.io.*;
public class test1 {
public static void main(String[] args) throws IOException {
BufferedReader buf;
int value;
StackByArray stack=new StackByArray(10);
buf=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入十个数据:");
for(int i=0;i<10;i++) {
value=Integer.parseInt(buf.readLine());
stack.push(value);
}
while(!stack.empty())
System.out.println("堆栈弹出的顺序为:"+stack.pop());
}
}