数据结构循环队列操作源代码.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构循环队列操作源代码

数据结构循环队列操作 头文件: //循环队列类的定义 template class T class CirQueue { private: T *base;// 存储空间基址 int front;// 队头指针 int rear;// 队尾指针 int queuesize;// 队容量 public: CirQueue(int m);//构造空队列 ~CirQueue();// 析构函数,释放链队各结点的存储空间 void EnQueue(T x);// 元素x入队 T DeQueue();// 队顶元素出队 T GetHead();// 取队头元素 T GetLast();//取队尾元素 int QueueEmpty(); // 判队空 int QueueFull();//判队满 void ClearQueue();//清空队 void Pointer();//返回队头、队尾位置 void QueueTranverse();//遍历队,输出队列元素 }; //循环队列类的实现 template class T CirQueueT::CirQueue(int m)//构造函数 {//创建一空队 base=new T[m]; if(base==NULL) { cout队创建失败,退出!endl; exit(1); } front=rear=0; queuesize=m; } template class T CirQueueT::~CirQueue()//析构函数 {//释放队列所占存储空间 delete [] base; rear=0; front=0; queuesize=0; } template class T void CirQueueT::EnQueue(T x) {//元素入队 if((rear+1)%queuesize==front) throw 上溢,无法入队; base[rear]=x; rear=(rear+1)%queuesize; } template class T T CirQueueT::DeQueue() { T x; if(front==rear) throw 下溢,不能出队; x=base[front]; front=(front+1)%queuesize; return x; } template class T T CirQueueT::GetHead() { T x; if(front==rear) throw 队空,队顶无元素; x=base[front]; return x; } template class T T CirQueueT::GetLast() { T x; if(front==rear) throw 队空,队顶无元素; x=base[rear-1]; return x; } template class T int CirQueueT::QueueEmpty() { if(front==rear) return 1; else return 0; } template class T int CirQueueT::QueueFull() { if((rear+1)%queuesize==front) return 1; else return 0; } template class T void CirQueueT::ClearQueue() { front=rear=0; } template class T void CirQueueT::Pointer() { cout队头front= frontendl; cout队尾 rear= rearendl; } template class T void CirQueueT::QueueTranverse() { int i=front; while(i!=rear) { coutbase[i]\t; i=(i+1)%queuesize; } coutendl; } 主程序: #includeiostream.h//cout,cin #includeprocess.h//exit() #includestdio.h//EOF,NULL #include iostream.h #include CirQueue.h char pause; //主函数 int main() { int e; CirQueueint q(10); system(cls);//执行系统命令cls,清屏 int choice;

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档