队列的基本操作实现及其应用

来源:互联网 发布:bbs.h5dm新域名 编辑:程序博客网 时间:2024/05/16 15:14

一、实验目的

1、   熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。

2、   学会使用栈和队列解决实际问题。

二、实验内容

实现栈的压栈和出栈操作。

三、

#include <iostream>  using namespace std;  template<class DataType>struct Node  {DataType data;  Node<DataType> *next; }; template <class DataType>  class LinkStack{public:LinkStack(){top=NULL;} /*构造函数,初始化空链栈*/~LinkStack();/*析构函数,释放空间*/void Push(DataType x);DataType Pop();DataType GetTop();int Empty();private:Node<DataType>*top;};template<class DataType>void LinkStack<DataType>::Push(DataType x){   Node<DataType>*s;s=new Node<DataType>;s->data=x;s->next=top;top=s;    /*将结点s插入到栈顶*/} template<class DataType>DataType LinkStack<DataType>::Pop(){   DataType x;    Node<DataType>*p;if(top==NULL)throw"下溢";x=top->data;p=top;top=top->next;delete p;return x;}template<class DataType>DataType LinkStack<DataType>::GetTop(){if (top!=NULL)return top->data;}template<class DataType>int LinkStack<DataType>::Empty(){if(top==NULL)return 1;else return 0;}template<class DataType>LinkStack<DataType>::~LinkStack(){Node<DataType>*s;while(top==NULL){}}int main(){LinkStack<int>S;if(S.Empty())cout<<"空链栈"<<endl;elsecout<<"链栈非空"<<endl;cout<<"将11、12进行入栈操作"<<endl;S.Push(11);S.Push(12); cout<<"取栈顶元素"<<endl;cout<<S.GetTop()<<endl;cout<<"进行出栈处理"<<endl;S.Pop();cout<<"栈顶元素为"<<endl;cout<<S.GetTop()<<endl;S.~LinkStack();return 0;}

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 牵挂意思 牵挂的意思 一世牵挂 牵挂反义词 牵挂作文 牵挂造句子 用牵挂造句 一生的牵挂 多情的牵挂 一无牵挂 牵挂的句子 放不下牵挂 牵挂写句子 牵挂图片 了无牵挂 牵挂歌曲 牵挂伍佰 牵挂你的我 歌曲牵挂 牵挂的拼音 无奈的牵挂 牵挂的近义词 牵挂你的人是我 男人牵挂女人会有这四种表现 牵挂的反义词 思念牵挂一个人短语 牵挂是什么意思 儿行千里妈牵挂 一世牵挂全集播放40集 男人牵挂女人哪四种表现 用牵挂造句3年级 牵挂造句子3年级 牵挂你的人是我原唱 多情的牵挂原唱 你是我一生的牵挂 小学三年级用牵挂造句 牵绊 情牵两世 牵丝戏歌词 我想牵着你的手