用一维整数数组实现数据结构中的堆栈(Stack)。(用java语言)

高分请教下,用一维整数数组实现数据结构中的堆栈(Stack)。(用java语言)
最新回答
頖縌者丶菜鸟

2024-12-02 05:07:41

在Java语言中,可以使用一维整数数组实现堆栈(Stack)数据结构。首先定义一个名为IntStack的类,并在其内部创建一个整数数组stack用于存储数据,同时定义一个整数变量top记录当前堆栈的顶部位置。

构造函数IntStack接受一个非负整数作为参数,用于初始化堆栈大小。如果传入的大小小于0,则会抛出一个名为StackErrorException的异常。初始化方法init将堆栈数组设置为指定大小,并将顶部位置top初始化为0。

isEmpty方法用于判断堆栈是否为空,如果top等于0,则返回true,表示堆栈为空;否则返回false。

isFull方法用于判断堆栈是否已满,如果top等于堆栈数组的长度,则表示堆栈已满,返回true;否则返回false。

push方法用于向堆栈顶部添加一个元素。如果堆栈已满,则会抛出一个StackErrorException异常。否则将传入的值存储在堆栈数组的顶部位置,并将顶部位置top加1。

pop方法用于移除堆栈顶部的元素,并返回该元素。如果堆栈为空,则会抛出一个StackErrorException异常。

peek方法用于返回堆栈顶部的元素,但不移除该元素。如果堆栈为空,则会抛出一个StackErrorException异常。

size方法用于返回堆栈的当前大小,即堆栈数组的长度。

StackErrorException是自定义异常类,继承自Exception类,用于在堆栈操作过程中抛出异常。