template <class ElemType> class CyQueue{ public: int front;//queue[front]是头结点,不存数据 int rear; int MaxSize; bool flag; ElemType *queue; CyQueue(int ms){ flag=0;front=0;rear=0; MaxSize=ms; queue=new ElemType[ms+5]; //分配一个足够大的空间 } void EnQueue(CyQueue &Q, ElemType x); ElemType OutQueue(CyQueue& Q); }; template <class ElemType> void CyQueue<ElemType>::EnQueue(CyQueue &Q, ElemType x) { } template <class ElemType> ElemType CyQueue<ElemType>::OutQueue(CyQueue &Q)
时间: 2023-06-18 11:08:39 浏览: 127
数据结构类型定义如下-数据结构严蔚敏c语言版ppt课件
这是一个利用模板实现的循环队列类CyQueue,包含了EnQueue和OutQueue两个函数。
EnQueue函数用于向队列中添加元素,其参数包括一个CyQueue类型的引用Q和一个ElemType类型的参数x。该函数将元素x添加到队列中,如果队列已满则报错。
OutQueue函数用于从队列中取出元素,其参数同样包括一个CyQueue类型的引用Q。该函数将队列中的头元素(即队首元素)取出并返回,如果队列为空则报错。同时,该函数会将这个头元素从队列中删除,将队列中其它元素向前移动一个位置。
需要注意的是,EnQueue和OutQueue函数都是在类外定义的函数,需要在函数名前加上类名和模板形参列表。
阅读全文