欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java利用简单数组实现栈

程序员文章站 2024-02-17 10:06:52
...

1.栈是一种先进会后出的数据结构,主要的操作为,void push(Object data),将data插入栈,void pop(),删除并返回最后一个插入栈中的元素。

2.辅助操作为:int top(),返回最后一个插入栈的元素,但是不删除 。int size(),返回存储在栈中元素的个数。  boolean isEmpty(),判断栈中是否有元素。 boolean isFull(),判断栈是否为满。

代码如下:

public class ArrayStack {
	private int top;
	private int capacity;
	private Object [] array;
	public ArrayStack(){
		top=-1;//栈顶指针为-1
		capacity=5;//初始化容量的大小
		array=new Object[capacity];//初始化数组
	}
	
	public boolean isEmpty(){//判断是否为空
		return top==-1;
	}
	
	public boolean isFull(){//判断是否是满栈的
		return top==capacity-1;
	}
	
	public void push(Object data){//入栈操作
		if(isFull()){
			System.out.println("栈已经满,插入失败");
			return;
		}
		array[++top]=data;
	}
	
	public Object pop(){//返回栈顶元素,并且删除
		Object data=0;
		 if(isEmpty()){
			 System.out.println("栈为空,返回-1");
			 data=-1;
		 }
		 data=array[top--];
		 return data;
	}
	
	public Object top(){//返回栈顶元素,但是不删除
		return array[top];
	}
	
	public int size(){//返回栈顶元素,但是不删除
		return top;
	}
	
	public void showAll(){//显示栈中所有的值 
		for(int i=top;i>=0;i--){
			System.out.print(" "+array[i]);
		}
	}
	public static void main(String[] args) {
		ArrayStack stack=new ArrayStack();
		stack.push(1);
		stack.push(2);
		stack.showAll();
	}
}

简单输出为:

java利用简单数组实现栈

里面还有其他的方法,请读者自行测试。若有疑问,请call me哦!!