dlstack.h

来自「data structures, algorithms and Applicat」· C头文件 代码 · 共 32 行

H
32
字号
// header file lstack.h
#ifndef LinkedStack_
#define LinkedStack_

#include "chain.h"
#include "xcept.h"

template<class T>
class LinkedStack : private Chain<T> {
public:   
   bool IsEmpty() const   
      {return Chain<T>::IsEmpty();}   
   bool IsFull() const;   
   T Top() const   
      {if (IsEmpty()) throw OutOfBounds();   
       T x; Find(1, x); return x;}   
   LinkedStack<T>& Add(const T& x)   
      {Insert(0, x); return *this;}   
   LinkedStack<T>& Delete(T& x)   
       {Chain<T>::Delete(1, x); return *this;}   
};

template<class T>
bool LinkedStack<T>::IsFull() const
{//Is stack full?
   try {ChainNode<T> *p = new ChainNode<T>;
        delete p; return false;}
   catch (NoMem) {return true;}
}

#endif;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?