跳转至

算法

顺序栈面向对象封装

将顺序栈操作用 C++ 类重新组织:构造函数分配初始空间,成员函数 push / pop / gettop 封装入栈与出栈逻辑。

原代码缺少析构函数,base 指向的堆空间在对象销毁时泄漏。

静态数组栈面向对象实现

用 C++ 的 new[] / delete[] 实现定长数组栈,构造函数支持自定义容量。与顺序栈的动态扩容不同,静态栈容量固定,溢出时需明确报错。

原代码 push 无溢出检查,pop 只打印不出参——将出栈值通过引用返回,并在入栈时增加容量校验。

C++ 顺序栈实现

用一个头文件实现基于动态数组的顺序栈,支持自动扩容、压栈、出栈和取栈顶。代码检查后,存在几处需要加固的细节。