- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循环队列 在想象中将数组弯曲成环形,元素出队时,后继元素不移动,每当队尾达到数组最后一个元素时,便再回到数组开头。 特殊的线性群体——队列 1 2 3 4 …… m-1 m-2 m-3 0 am am+1 am+2 a3 队头 队尾 a4 am-2 am-3 am-1 队满状态 元素个数=m 1 2 3 4 …… m-1 m-2 m-3 0 队尾 队头 队空状态 元素个数=0 队尾 1 2 3 4 …… m-1 m-2 m-3 0 a0 a1 a2 a3 队头 一般状态 例9-10 队列类模板 #ifndef QUEUE_CLASS #define QUEUE_CLASS #include iostream.h #include stdlib.h const int MaxQSize = 50; 特殊的线性群体——队列 template class T class Queue { private: int front, rear, count; T qlist[MaxQSize]; public: Queue (void); void QInsert(const T item); T QDelete(void); void ClearQueue(void); T QFront(void) const; int QLength(void) const; int QEmpty(void) const; int QFull(void) const; }; // 构造函数,初始化队头指针、队尾指针、元素个数 template class T QueueT::Queue (void) : front(0), rear(0), count(0) {} //向队尾插入元素(入队) template class T void QueueT::QInsert (const T item) { // 如果队满,中止程序 if (count == MaxQSize) { cerr Queue overflow! endl; exit(1); } // increment count, assign item to qlist and update rear count++; //元素个数增1 qlist[rear] = item; //向队尾插入元素 rear = (rear+1) % MaxQSize; //队尾指针增1,用取余运算实现循环队列 } // 删除队首元素,并返回该元素的值(出队) template class T T QueueT::QDelete(void) { T temp; // 如果队空,中止程序 if (count == 0) { cerr Deleting from an empty queue! endl; exit(1); } // 记录队首元素值 temp = qlist[front]; count--; // 元素个数自减 front = (front+1) % MaxQSize; //队首指针增1。取余以实现循环队列 return temp; //返回首元素值 } // 访问队列首元素(返回其值) template class T T QueueT::QFront(void) const { return qlist[front]; } // 返回队列元素个数 template class T int QueueT::QLength(void) const { return count; } // 测试队空否 template class T int QueueT::QEmpty(void) const { //返回逻辑值 count == 0 return count == 0; } // 测试队满否 template class T int QueueT::QFull(void) const { // 返回逻辑值 count == MaxQSize return count == MaxQSize; } // 清空队列 template class T void
您可能关注的文档
最近下载
- (2024秋新改)人教版七年级数学上册全册教案.doc
- 青岛版四年级下册《观察物体》.ppt VIP
- 钢结构高空安全施工专项方案.docx
- 单位档案管理员题库.pdf VIP
- 部编版小学道德与法治六年级上册教案(全册).docx VIP
- (优质!)GB 45673-2025《危险化学品企业安全生产标准化通用规范》之“5.14绩效评估与持续改进”审核检查单(2025A0)(可编辑!).docx VIP
- 001-10.绿色施工安全防护措施费用实施登记表GDAQ20110.xls VIP
- 文正路自评报告.doc VIP
- (优质!)GB 45673- 2025《危险化学品企业安全生产标准化通用规范》之“5.9 相关方”审核检查单(2025A0).docx VIP
- 2024浙江丽水缙云县招聘专职社区工作者13人笔试备考试题及答案解析.docx VIP
原创力文档


文档评论(0)