traina~1.h
来自「经典c++程序的实现」· C头文件 代码 · 共 31 行
H
31 行
class Stack
{ // Array-based stack class
private:
int size; // Maximum size of stack
int top; // Index for top ELEM
ELEM *listarray; // Array holding stack ELEM's
public:
Stack(const int sz =LIST_SIZE) // Constructor: initialize
{ size = sz; top = 0; listarray = new ELEM[sz]; }
~Stack() // Destructor: return array space
{ delete [] listarray; }
void clear() // Remove all ELEM's from stack
{ top = 0; }
void push(const ELEM& item) // Push ELEM onto stack
{ assert(top < size); listarray[top++] = item; }
ELEM pop() // Pop ELEM from top of stack
{ assert(!isEmpty()); return listarray[--top]; }
ELEM topValue() const // Return value of top ELEM
{ assert(!isEmpty()); return listarray[top-1]; }
bool isEmpty() const // Return TRUE if stack is empty
{ return top == 0; }
void print()
{ for (int i=0; i<top; i++)
cout << listarray[i] << " ";
}
int length()
{ return top; }
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?