C++编程练习(6)----“实现简单的队列的链式存储结构“
来源:互联网 发布:java生成嵌套json数据 编辑:程序博客网 时间:2024/06/05 09:05
队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出。简称链队列。
实现代码如下:
/* LinkQueue.h 头文件 */#include<iostream>#define OK 1#define ERROR 0typedef int QElemType;typedef int Status;class QNode{public:QNode():data(0),next(NULL) {}QElemType data;QNode *next;};class LinkQueue{public:LinkQueue() {front=new QNode;rear=new QNode;front=rear;}Status EnQueue(QElemType e);/*入队操作*/Status DeQueue(QElemType *e);/*出队操作*/Status ShowQueue() const;private:QNode *front,*rear;/*队头、队尾指针,队头不保存元素,只起头结点作用,当front==rear时,队列为空*/};Status LinkQueue::EnQueue(QElemType e){QNode *p=new QNode;if(!p)return ERROR;p->data=e;p->next=NULL;rear->next=p; rear=p;return OK;}Status LinkQueue::DeQueue(QElemType *e){if(rear==front)/*空队列*/return ERROR;QNode *p=new QNode;if(!p)return ERROR;p=front->next;*e=p->data;front->next=p->next;if(rear==p)rear=front;delete p;return OK;}Status LinkQueue::ShowQueue() const{if(rear==front){std::cout<<"空队列"<<std::endl;return ERROR;}QNode *p=new QNode;if(!p)return ERROR;std::cout<<"队列从队头至队尾内容依次为:";p=front->next;while(p){std::cout<<p->data<<" ";p=p->next;}std::cout<<std::endl;return OK;}
0 0
- C++编程练习(6)----“实现简单的队列的链式存储结构“
- C++编程练习(2)----“实现简单的线性表的链式存储结构“
- C++编程练习(4)----“实现简单的栈的链式存储结构“
- 队列的链式存储结构C++实现
- 队列的链式存储结构及实现
- 队列的链式存储结构及实现
- C++编程练习(5)----“实现简单的循环队列的顺序存储结构“
- 队列的链式结构C语言实现
- 队列的链式存储实现c语言
- 队列的链式存储结构
- 队列的链式存储结构
- 队列的链式存储结构
- 队列的链式存储结构
- 队列的链式存储结构
- 队列的链式存储结构
- 队列的链式存储结构
- 队列的链式存储结构
- 队列的链式存储结构
- The Google File System中文版附英文资源链接(上)
- 网络游戏同步法则
- 简单工厂模式
- 网页前端优化
- 微软VC编译器对signed类型超出取值范围的处理
- C++编程练习(6)----“实现简单的队列的链式存储结构“
- android中getSystemService详解
- MFC线程(一):简单介绍
- OpenGL(2) glut库测试
- 记阿里巴巴实习生电话面试感受
- php 用反射API来获取一个类的原型
- Linux 下串口编程入门
- java xml解析 学习笔记(3)——JDOM
- C/C++的浮点数在内存中的存储方式