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

📄 stack.h

📁 清华大学数据结构(用面向对象方法与C++描述)教材的部分实现
💻 H
字号:
#include <iostream.h>#include <assert.h>template <class Type> class Stack{  public:    Stack(const int=10);    ~Stack(){delete []elements;}    void Push(const Type& item);    Type Pop();    Type GetTop();    void MakeEmpty() {top=-1;}    int  IsEmpty() const {return top==-1;}    int  IsFull() const {return top==maxsize-1;}    friend ostream& operator <<(ostream& strm, Stack<Type>& a);  private:    int   top;    Type* elements;    int   maxsize;  };  template <class Type> Stack<Type>::Stack(const int s):top(-1),maxsize(s){    elements=new Type[maxsize];    assert(elements!=0);    }  template <class Type> void Stack<Type>::Push(const Type& item){    assert(!IsFull());    elements[++top]=item;    }  template <class Type> Type Stack<Type>::Pop(){    assert(!IsEmpty());    return elements[top--];    }  template <class Type> Type Stack<Type>::GetTop(){    assert(!IsEmpty());    return elements[top];    }template <class Type>ostream& operator <<(ostream& strm, Stack<Type>& a){  Type *p=a.elements;  strm<<"Top:"<<a.top<<endl;  for (int i=0;i<=a.top;i++,p++)  {   strm<<*p<<' ';  }  strm<<endl;   return strm;}

⌨️ 快捷键说明

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