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

java数组实现栈

程序员文章站 2022-07-10 20:30:23
...

java数组实现栈

package c.itcast.stack;

public class Stack {
	public static void main(String[] args) {
		StackArray stackarray = new StackArray(5);
		stackarray.add(6);
		stackarray.add(1);
		stackarray.add(2);
		stackarray.add(3);
		stackarray.add(4);
		stackarray.add(5);
		stackarray.del();
		stackarray.printStack();
	}
}
class StackArray{
	int maxSize; 
	 
	int top = -1;
	int botton = -1;
	int [] stack;
	public StackArray(int maxSize){
		stack = new int[maxSize];
		this.maxSize = maxSize;
	}
	public void add(int n) {
		if(isMan()) {
			System.out.println("满了");
		}
		else {
			top++;
			stack[top] = n;
			System.out.println("添加成功");
		}
	}
	public void del() {
		if(isKong()) {
			System.out.println("为空不能出栈");
		}
		else {
			System.out.println("出栈"+stack[top]);
			top--;
		}
	}
	public boolean isKong() {
		if(top == -1)
			return true;
		return false;
	}
	public boolean isMan() {
		if(top == maxSize-1)
			return true;
		return false;
	}
	public void printStack(){
		int temp = top;
		while(true) {
			if(isKong()) {
				System.out.println("空不能打印");
				return;
			}
			else {
				if(temp<0)
					return;
				System.out.println("stack"+stack[temp]);
				temp--;
			}
		}
	}
	
}

添加成功
添加成功
添加成功
添加成功
添加成功
满了
出栈4
stack3
stack2
stack1
stack6