最近有遇到让写堆栈实现的算法,提供函数,pop();push()
public class myStack{
private final static maxsize;
private long[] arrays;
private int top;
//定义空的栈结构
public mystack(int s ){
maxsize=s;
arrays=new long[maxsize];
top=-1;
//数据入栈
public void push(long m){
arrays[++top]=m;
}
//数据出栈
public long pop(){
return arrays[top--];
}
//提取栈内数据
public long pick(){
return arrays[top];
}
//判断栈是否为空
public boolean isemptys(){
if(top==-1)
{return true;}
}
//判断栈是否满了
public boolean isfulls(){
if(top==maxsize-1){
return true;
}
//调用栈结构存储数据实例
public static void main(String[] args){
mystack st=new mystack(5);
st.push(1);
st.push(2);
st.push(4);
st.push(5);
st.push(7);
while(!st.isemptys()){
long val=st.pop();
System.out.println(val);
System.out.println("-");
}
}
}
}
以上输出结果为:
7-5-4-2-1
}