MyStack.java
package lianxi;
public class MyStack {
private long[] arr;
private int top;
/**
* 默认的构造方法
*/
public MyStack(){
arr = new long[10];
top = -1;
}
/**
* 自定义栈的大小的构造参数
* @param maxsize
*/
public MyStack(int maxsize) {
arr = new long[maxsize];
top = -1;
}
/**
* 添加数据
*/
public void push(long value) {
arr[++top] = value;
}
/**
* 移除数据
*/
public long pop() {
return arr[top--];
}
/**
* 查看数据
*/
public long peek() {
return arr[top];
}
/**
* 判断是否为空
*/
public boolean isEmpty() {
return top == -1;
}
/**
* 判断是否满了
*/
public boolean isFull() {
return top == arr.length - 1;
}
}
testClass.java
package lianxi;
import java.io.*;
import java.rmi.RemoteException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;
import SortP.MyStack;
public class testClass {
public static void main(String args[]){
MyStack ms = new MyStack(4);
ms.push(23);
ms.push(12);
ms.push(1);
ms.push(90);
System.out.println(ms.isEmpty());
System.out.println(ms.isFull());
System.out.println(ms.peek());//查看栈顶元素
while(!ms.isEmpty()) {
System.out.println(ms.pop() + ",");//移除数据
}
System.out.println(ms.isEmpty());
System.out.println(ms.isFull());
}
}
输出结果:
false
true
90
90,
1,
12,
23,
true
false