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 + -
显示快捷键?