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

📄 page116.cpp

📁 包含常见的数据结构的类和函数
💻 CPP
字号:
#include <assert.h>#define null 0#include <iostream.h>template <class Type> class Queue;template <class Type> class QueueNode{  friend class Queue<Type>;  private:    Type data;    QueueNode<Type> * link;    QueueNode(Type d=0,QueueNode *l=null):data(d),link(l){}  }template <class Type> class Queue{  public:    Queue():rear(null),front(null){}    ~Queue();    void EnQueue(const Type & item);    Type DeQueue();    Type GetFront();    void MakeEmpty(){front=rear=null;}    int  IsEmpty() const {return front==null;}  private:    QueueNode<Type> *front,*rear;  };  template <class Type> void Queue<Type>::~Queue(){    QueueNode<Type> * p=front;    while(front!=null){      p=front;      front=front->link;      delete p;      }    }  template <class Type> void Queue<Type>::EnQueue(const Type & item){    if(front==null) front=rear=new QueueNode<Type>(item,null);      else rear=rear->link=new QueueNode<Type>(item,null);    }  template <class Type> Type Queue<Type>::DeQueue(){    assert(!IsEmpty());    QueueNode<Type> * p=front;    Type retvalue=p->data;    front=front->link;    delete p;    return retvalue;    }  template <class Type> Type Queue<Type>::GetFront(){    assert(!IsEmpty());    return front->data;    }void main(){  Queue<int> que;  for(int i=0;i<10;i++)que.EnQueue(i);  cout<<que.GetFront()<<endl;  while(!que.IsEmpty())cout<<que.DeQueue()<<endl;  for(i=0;i<10;i++)que.EnQueue(i);  que.MakeEmpty();  if(que.IsEmpty())cout<<"the que is empty.."<<endl;  }

⌨️ 快捷键说明

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