astack.h
来自「数据结构与算法分析」· C头文件 代码 · 共 29 行
H
29 行
// First, get the declaration for the base stack class
#include "stack.h"
// Array-based stack implementation
template <class Elem> class AStack: public Stack<Elem> {
private:
int size; // Maximum size of stack
int top; // Index for top element
Elem *listArray; // Array holding stack elements
public:
AStack(int sz =DefaultListSize) // Constructor
{ size = sz; top = 0; listArray = new Elem[sz]; }
~AStack() { delete [] listArray; } // Destructor
void clear() { top = 0; }
bool push(const Elem& item) {
if (top == size) return false; // Stack is full
else { listArray[top++] = item; return true; }
}
bool pop(Elem& it) { // Pop top element
if (top == 0) return false;
else { it = listArray[--top]; return true; }
}
bool topValue(Elem& it) const { // Return top element
if (top == 0) return false;
else { it = listArray[top-1]; return true; }
}
int length() const { return top; }
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?