?? stack.h
字號:
#include "debug.h" //全是書上的,一點沒改
template <class T>
class Node
{
public:
T data;
Node<T> *link;
protected:
private:
};
template<class T>
class Stack //操作數
{
public:
Stack(){top=0;}
~Stack();
bool IsEmpty()const{return top==0;}
bool IsFull()const;
T Top()const;
Stack<T>& Add(const T&x);
Stack<T>&Delete(T&x);
protected:
private:
Node<T>*top;
};
template<class T>
Stack<T>::~Stack()
{
Node<T>*next;
while (top)
{
next=top->link;
delete top;
top=next;
}
}
template<class T>
bool Stack<T>::IsFull()const
{
try
{
Node<T> *p=new Node<T>;
delete p;
return false;
}
catch (NoMen)
{
return true;
}
}
template<class T>
T Stack<T>::Top()const
{
if(IsEmpty())throw OutOfBounds();
return top->data;
}
template<class T>
Stack<T>& Stack<T>::Add(const T&x)
{
Node<T>*p=new Node<T>;
p->data=x;
p->link=top;
top=p;
return *this;
}
template<class T>
Stack<T>&Stack<T>::Delete(T&x)
{
if (IsEmpty())throw OutOfBounds();
x=top->data;
Node<T>*p=top;
top=top->link;
delete p;
return *this;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -