⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 astack.h

📁 数据结构与算法分析(C++)(版第二版)源码
💻 H
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -