📄 seqqueue.cpp
字号:
// SeqQueue.cpp: implementation of the SeqQueue class.
//
//////////////////////////////////////////////////////////////////////
#include "SeqQueue.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//构造函数
template<class T>
SeqQueue<T>::SeqQueue(int sz):front(0),rear(0),maxSize(sz)
{ elements=new T[maxSize];
assert(elements!=NULL);
}
//入队
template<class T>
bool SeqQueue<T>::EnQueue(const T&x)
{
if(IsFull()==true)return false;
elements[rear]=x;
rear=(rear+1)%maxSize;
return true;
}
//出队
template<class T>
bool SeqQueue<T>::DeQueue(T&x)
{
if(IsEmpty()==true)return false;
x=elements[front];
front=(front+1)%maxSize;
return true;
}
//得首结点
template<class T>
bool SeqQueue<T>::getFront(T&x)const
{
if(IsEmpty()==true)return false;
x=elements[front];
return true;
}
//输出重载
template<class T>
ostream&operator<<(ostream&os,SeqQueue<T>&Q)
{
os<<"front="<<Q.front<<",rear="<<Q.rear<<endl;
for(int i=Q.front;i!=Q.rear;i=(i+1)%Q.maxSize)
os<<i+1<<":"<<Q.elements[i]<<endl;
return os;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -