主子很萌:平

源码截图1

源码截图2
程序源码
package Review;
/**
*
* @author 栈(底层是数组)
*
*/
public class StackX {
private long[] stackArray;//用数组来存储数据,所以创建一个长整型数组stackArray,用数组构建一个栈
private int maxSize;//数组长度,即最大可存多少数据
private int top;//栈顶指针
/*
* 构造函数,对变量进行初始化
*/
public StackX(int maxSize){
this.maxSize=maxSize;
stackArray=new long[ maxSize];
top=-1;
}
/*
* 压栈,往里存放,从栈顶开始压入
*/
public void push(int j){
stackArray[++top]=j;//相当于top++;stackArray[top]=j;
}
/*
* 查看并删除
*/
public long pop(){
return stackArray[top--];
}
/*
* 只查看不删除
*/
public long peek(){
return stackArray[top];
}
/*
* 判空
*/
public boolean isEmpty(){
return top==-1;
}
/*
* 栈是否满
*/
public boolean isFull(){
return top==(maxSize-1);
}
}
package Review;
import java.util.Scanner;
/**
*
* @author 类StackX的方法测试
*
*/
public class StackTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
System.out.println("请输入数组容量");
int num=sc.nextInt();
StackX sn=new StackX(num);
sn.push(20);
sn.push(40);
sn.push(60);
sn.push(80);
while(!sn.isEmpty()){//类似for循环输出
long b =sn.pop();
System.out.print(" "+b);
}
System.out.println();
System.out.println("sn.isEmpty()="+sn.isEmpty());
System.out.println("sn.isFull():"+sn.isFull());
}
}
参考文献: 。。。。。。。。。。。。我随手写的,哪有什么参考