实验三链队列
来源:互联网 发布:mac系统能玩什么网游 编辑:程序博客网 时间:2024/05/21 06:57
一、实验目的
1、 熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。
2、 学会使用栈和队列解决实际问题。
二、实验内容
1、自己确定结点的具体数据类型和问题规模:
分别建立一个顺序栈和链栈,实现栈的压栈和出栈操作。
分别建立一个顺序队列和链队列,实现队列的入队和出队操作。
#include<iostream>using namespace std;template<typename T>struct Node{T data;Node<T>*next;};template<typename T>class LinkQueue{public:LinkQueue();//初始化一个空的链栈~LinkQueue();void EnQueue(T x);//入列T DeQueue();//队头元素出列T GetQueue();//取链队列的头元素int Empty();//判断链队列是否为空private:Node<T>*front,*rear;//队头和队尾指针};template<class T>LinkQueue<T>::LinkQueue(){Node<T>*s=NULL;s=new Node<T>;s->next=NULL;front=rear=s;}template<typename T>LinkQueue<T>::~LinkQueue(){Node<T>*p=NULL;while(front!=NULL){p=front->next;delete front;front=p;}}template<typename T>void LinkQueue<T>::EnQueue(T x){Node<T>*s=NULL;s=new Node<T>;s->data=x;//数据域为x的节点ss->next=NULL;rear->next=s;rear=s;//将节点s插入到队尾}template<typename T>T LinkQueue<T>::DeQueue(){Node<T>*p=NULL;int x;if(rear==front)throw"下溢";p=front->next;x=p->data;//暂存队头元素front->next=p->next;//将队头元素所在节点摘链if(p->next==NULL)rear=front;//判断出队前队列长是否为1delete p;return x;}template<typename T>T LinkQueue<T>::GetQueue(){if(front!=rear)return front->next->data;}template<class T>int LinkQueue<T>::Empty(){if(front==rear)return 1;else return 0;}void main(){LinkQueue<int>Q;if(Q.Empty())cout<<"队列为空"<<endl;elsecout<<"队列非空"<<endl;cout<<"元素1和2入列"<<endl;try{Q.EnQueue(1);Q.EnQueue(2);}catch(char*wrong){cout<<wrong<<endl;}cout<<"查看队头元素"<<endl;cout<<"执行出队操作"<<endl;try{Q.DeQueue();}catch(char*wrong){cout<<wrong<<endl;}cout<<"查看队头元素"<<endl;cout<<Q.GetQueue()<<endl;}
阅读全文
0 0
- 实验三 链队列
- 实验三链队列
- 实验三 顺序队列与链队列
- 实验三、链队列和顺序队列
- 实验三:链队列的实现
- 实验三之链队列的实现
- 实验三 链队列(c++)
- 数据结构实验(三):链队列
- 实验三 顺序队列
- 实验三、循环队列
- 实验三顺序队列
- 实验三:顺序栈和链队列验证实验
- 实验三(2) 链队列的验证实验
- 实验三 栈和队列
- 实验三:栈和队列
- 实验三栈和队列
- 实验三 栈和队列
- 实验三 栈和队列
- SSM项目重构时遇到的一些问题及解决方法
- 过滤器Filter的案例2——自动登录
- Python 装饰器
- Python
- [已解决]重复文件导致无法打包apk
- 实验三链队列
- 预告+剧透!6期轻科幻题材连载即将开始(文末有福利)
- [LeetCode]679. 24 Game
- 动态dp和px转换
- replace 正则表达式
- 用SD卡给410c刷机后,如何格式化到正常格式
- 关于时间的相关代码
- 问题:2006年培养学员八万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数达到20万人?
- 代码大全 读书笔记(1)