您的位置:首页 > 编程语言 > Java开发

(Java学习笔记6)栈的构建与应用

2017-02-26 11:20 295 查看
栈的构建与应用
public class MyStack {
//底层实现是一个数组,栈遵循先进后出,后进先出
private long[] arr;
private int top;
/*
* 默认的构造方法
*
* */
public MyStack(){
arr=new long[10];
top=-1;
}
/*
* 带参数构造方法,参数为数组初始化大小
* */
public MyStack(int maxsize){
arr=new long[maxsize];
top=-1;
}
/*
* 添加数据,压入
* */
public void push(int value){
arr[++top]=value;
}
/*
* 移除数据,弹出
* */
public long pop(){
return arr[top--];
}
/*
* 查看数据
* */
public long peak(){
return arr[top];
}
/*
* 判断是否为空
* */
public boolean isEmpty(){
return top==-1;
}
/*
* 判断是否为满了
* */
public boolean isFull(){
return top==arr.length-1;
}
}
public class TestMyStack {
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.peak());
while(!ms.isEmpty()){
System.out.print(ms.pop()+",");
}
//弹出数据后,栈为空
System.out.println(ms.isEmpty());
System.out.println(ms.isFull());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: