java实现栈

栈是一种常用的数据结构,栈只允许访问栈顶的元素,栈就像一个杯子,每次都只能取杯子顶上的东西,而对于栈就只能每次访问它的栈顶元素,从而可以达到保护栈顶元素以下的其他元素.”先进后出”或”后进先出”就是栈的一大特点,先进栈的元素总是要等到后进栈的元素出栈以后才能出栈.递归就是利用到了系统栈,暂时保存临时结果,对临时结果进行保护

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 boolean isEmpty(){
		return top==-1;
	}
	//查看数据
	public long peek(){
		return arr[top];
	}
	//判断是否满了
	public boolean isFull(){
		return top==arr.length-1;
	}
}

下边是测试类:只测试了进栈和出栈:

public class MyStackTest {
public static void main(String[] args) {
	
	MyStack ms=new MyStack();
	ms.push(1);
	ms.push(2);
	ms.push(4);
	ms.push(6);
	ms.push(7);
	ms.push(8);
	ms.push(9);
	ms.push(0);
	
	while(!ms.isEmpty()){
		System.out.print(ms.pop());
	}
}
}

控制台输出:

09876421

阅读更多
文章标签: java stack
上一篇java实现插入排序
下一篇java实现队列
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭