下载此文档

循环队列实验报告.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
循环队列
#include <iostream>
using namespace std;
const int QueueSize=10;
template <class T>
class CirQueue
{
private :
T data[QueueSize];
int front,rear;
public:
CirQueue();
~CirQueue(){}
T GetQueue();
bool Empty();
bool Full();
int Length();
void Insert(T x);
T Delete();
void Print();
};
template <class T>
CirQueue<T>::CirQueue()
{
front=rear=0;
}
template <class T>
T CirQueue<T>::GetQueue()
{
if(front==rear)
throw"队列为空!";
int i=(front+1)%QueueSize;
return this->data[i];
}
template <class T>
bool CirQueue<T>::Empty ()
{
if(rear==front)
return true;
else
return false;
}
template <class T>
bool CirQueue<T>::Full ()
{
if((rear+1)%QueueSize==front)
return true;
else
return false;
}
template <class T>
int CirQueue<T>::Length ()
{
return (this->rear-this->front+QueueSize)%QueueSize;
}
template <class T>
void CirQueue<T>::Insert(T x)
{
if((rear+1)%QueueSize==front)
throw "队列上溢!";
rear=(rear+1)%QueueSize;
data[rear]=x;
}
template <class T>
T CirQueue<T>::Delete ()
{
if(rear==front)
throw"队列下溢!";
front=(front+1)%QueueSize;
return data[front];
}
template <class T>
void CirQueue<T>::Print ()
{
if(rear==front)
cout<<"队列为空"<<endl;
else
{
cout<<"***********************************"<<endl;
int length=(rear-front+QueueSiz

循环队列实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人miaoshen1985
  • 文件大小39 KB
  • 时间2021-10-31
最近更新