博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链式队列
阅读量:7100 次
发布时间:2019-06-28

本文共 1324 字,大约阅读时间需要 4 分钟。

hot3.png

#ifndef QUEUE_H_#define QUEUE_H_template
class Queue{public: Queue(); ~Queue(); bool isEmpyt()const; const T &getFront()const;//返回队首的数据 void enqueue(const T &x);//将数据放入队里 先进先出 T dequeue();//出对 删除队首的数据 void makeEmpyt();//清空整个队列private: struct ListNode { T element; ListNode *next; ListNode(const T &theElement,ListNode *n=0):element(theElement),next(n){} }; ListNode *front; ListNode *back;};/*--------------------------*/template
Queue
::Queue(){ front = back = 0;}template
Queue
::~Queue(){ makeEmpyt();}template
bool Queue
::isEmpyt()const{ return front ==0;}template
const T & Queue
::getFront()const{ if(isEmpyt()) std::cerr<<"空队列"; else return front->element;}template
void Queue
::enqueue(const T &x){ if(isEmpyt()) back=front = new ListNode(x); else back = back->next = new ListNode(x);}template
T Queue
::dequeue(){ T frontItem = getFront(); ListNode *old = front; front = front->next; delete old; return frontItem;}template
void Queue
::makeEmpyt(){ while(!isEmpyt()) { dequeue(); }}#endif#include
#include "queue.h"using namespace std;int main(){ cout << "测试"<
q; q.enqueue(10); q.enqueue(20); q.enqueue(30); cout<< q.getFront()<< endl; q.dequeue(); cout<< q.getFront()<< endl; return 0;}

 

转载于:https://my.oschina.net/osyunwei/blog/716708

你可能感兴趣的文章
rz sz 安装使用
查看>>
MySQL my.cnf参数配置优化详解
查看>>
php读取ACCESS数据库时,内容被截断的原因和解决
查看>>
#pragma指令
查看>>
FreeBSD使用
查看>>
电子书平台不应有裁判权
查看>>
XQuery:连通SQL与NoSQL的良好桥梁
查看>>
Trie树
查看>>
UVA 11389——The Bus Driver Problem
查看>>
黑白图像(DFS)
查看>>
RFID与智能卡
查看>>
Ubuntu16.04架设最新版本SSH2开发框架(maven构建)
查看>>
CentOS 7 的初始化
查看>>
Hibernate 一对一双向关联 Annotation
查看>>
常见邮件服务器(接收服务器和发送邮件服务器)地址
查看>>
th:text/th:utext属性
查看>>
ID生成策略之Annotation的三个方式
查看>>
我的第一个Kotlin应用
查看>>
HPE C7000的enclosure IP mode使用
查看>>
局域网XP系统无密码访问共享
查看>>