堆栈是否应具有最大大小?

Sot*_*lis 1 java implementation stack

我正在通过实现一些数据结构来练习我对ADT的了解,即使大多数已经存在.使用Stacks,我读过很多书和其他文档,当你尝试添加一个元素但堆栈已满时,会讨论堆栈抛出错误.在java实现(或任何其他)中,我应该专门跟踪最大堆栈大小(来自构造函数),检查是否达到该大小,如果是,则抛出溢出异常?或者不是很重要?

Dav*_*esh 5

取决于堆栈的类型,但通常,如果堆栈是堆分配的,则与大小无关.

如果你的堆栈确实是在堆栈上分配的,那么你应该保持它的小.

  • 同样,这取决于目的.对于学术练习,我会说一个例外是可取的,只要你也实现empty(). (3认同)