用类创建链队列
来源:互联网 发布:eplan 软件 编辑:程序博客网 时间:2024/06/05 13:27
队列先进先出,指定头结点和尾节点,头结点出队列,尾节点如队列
Node.h:
<span style="font-size:18px;">#ifndef NODE_H#define NODE_Hclass Node{public:char value;Node* next;};#endif</span>
LinkQueue.h:
<span style="font-size:18px;">/**********************************************************@program: to come true the linkqueue*@author: kingduo*@date: 2015/4/29 First Release************************************************************/#ifndef LINKQUEUE_H#define LINKQUEUE_H#include "Node.h"class LinkQueue{public:LinkQueue();~LinkQueue();void Enqueue(char value);char Dequeue();void Print();char Begin();void Clear();bool Isempty();private:Node* head;Node* rear;};#endif</span>LinkQueue.cpp:
<span style="font-size:18px;">#include <iostream>#include "LinkQueue.h"#include "Node.h"using namespace std;LinkQueue::LinkQueue(){head = NULL;rear = NULL;}LinkQueue::~LinkQueue(){while(head != NULL){Node* delete_node = head;head = delete_node->next;delete delete_node;}}void LinkQueue::Enqueue(char value){Node* new_node = new Node;new_node->value = value;new_node->next = NULL;if(head == NULL){head = new_node;rear = new_node;}else{rear->next = new_node;rear = new_node;}}char LinkQueue::Dequeue(){double num = 0.0;Node* delete_node = head;if(delete_node == NULL){cout<<"The queue is empty."<<endl;return -1;}else{num = delete_node->value;head = delete_node->next;delete delete_node;}return num;}void LinkQueue::Print(){Node* loop_node = head;if(loop_node == NULL)cout<<"The queue is empty"<<endl;else{while(loop_node != NULL){cout<<loop_node->value<<endl;loop_node = loop_node->next;}}}char LinkQueue::Begin(){if(head == NULL){cout<<"The queue is empty."<<endl;return -1;}elsereturn head->value;}void LinkQueue::Clear(){while(head != NULL){Node* delete_node = head;head = delete_node->next;delete delete_node;}rear = NULL;cout<<"Clear the queue."<<endl;}bool LinkQueue::Isempty(){return head == NULL;}</span>
main.cpp:
<span style="font-size:18px;">#include <iostream>#include <ctype.h>#include "LinkQueue.h"using namespace std;int main(void){char ch;double num;LinkQueue queue;cout<<"Please input your numbers."<<endl;while((ch = getchar()) != '\n'){queue.Enqueue(ch);}while(!queue.Isempty())cout<<queue.Dequeue();cout<<endl;return 0;}</span>
0 0
- 用类创建链队列
- 链表创建队列
- Java 基于链表的队列创建
- 创建.net优先队列
- 创建 I/O 队列
- 使用数组创建队列
- GCD:创建并发队列
- dispatch_queue_create---创建队列
- 循环队列的创建
- 创建消息队列
- 创建循环队列
- 链式队列的创建
- 链式队列创建
- 批量创建消息队列
- 创建队列 NSOperationQueue dispatch队列组
- 栈与队列--创建栈/队列
- 链队列类
- 带链队列类
- 2010年山东省第一届ACM大学生程序设计竞赛——Shopping
- 浅析Spring IOC(控制反转)
- 网页设计前端的表单记录
- apache和iis发布网站防火墙设置
- PMP十大知识领域(47个项目管理过程)
- 用类创建链队列
- Struts2框架下实现向服务器上传图片
- uva156 Ananagrams (stl map的使用)
- HTML基础5--浮动练习
- awk控制语句
- C/C++ 与函数有关的typedef用法
- Ruby元编程笔记<一>
- hdu2112 HDU Today(dijkstra+map)
- LabVIEW中局部变量、全局变量和引用及属性节点的相关