数据结构实验报告二栈的应用

数据结构实验报告二栈的应用

ID:35227056

大小:188.50 KB

页数:13页

时间:2019-03-22

数据结构实验报告二栈的应用_第1页
数据结构实验报告二栈的应用_第2页
数据结构实验报告二栈的应用_第3页
数据结构实验报告二栈的应用_第4页
数据结构实验报告二栈的应用_第5页
资源描述:

《数据结构实验报告二栈的应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数据结构实验指导书姓名:修凌云姓名:李赛赛信息与计算科学教研室实验一栈及其应用12实验目的①熟悉栈的基本概念;②熟练掌握并实现栈的基本操作以及两个栈共享一个存储空间。③应用栈实现表达式求值(可参考教材71页3.3应用举例)。实验环境计算机、vc++实验学时4学时,必做实验。实验步骤1、有详细的设计步骤;2、编辑源程序并进行调试;3、进行运行测试,并结合情况进行调整;4、对运行结果进行保存与分析;5、把源程序以文件的形式提交;实验内容1.1.根据栈的存储结构,分别给出可执行的源代码。²实验要求:能够对于不同的数据类型进行栈的初始化,入栈

2、,出栈和取栈顶元素以及对栈的判空和销毁等操作。并且注意边界条件。要求有测试案例和输出结果。程序运行效果示例:12程序源代码#includeconstintStackSize=20;structstudent{intage;12intnum;voidprintfinfo(){cout<<"age="<classSeqStack{public:SeqStack(){top=-1;}//构造函数,初始化一个空栈SeqS

3、tack(DataTypea[],intn);voidPush(DataTypex);//入栈操作,将元素x入栈DataTypePop();//出栈操作,将栈顶元素弹出DataTypeGetTop();//取栈顶元素(并不删除)intEmpty();//判断栈是否为空private:DataTypedata[StackSize];//存放栈元素的数组inttop;//栈顶指针,为栈元素在数组中的下标};templateSeqStack::SeqStack(DataTypea[],int

4、n){top=-1;for(inti=0;ivoidSeqStack::Push(DataTypex){if(top==StackSize-1)throw"上溢";data[++top]=x;}templateDataTypeSeqStack::Pop()12{DataTypex

5、;if(top==-1)throw"下溢";x=data[top--];returnx;}templateDataTypeSeqStack::GetTop(){DataTypex;if(top==-1)throw"下溢";x=data[top];returnx;}templateintSeqStack::Empty(){returntop==-1?1:0;}#includetemplate

6、pe>structNode{DataTypedata;Node*next;};templateclassLinkStack{public:LinkStack(){top=NULL;}//构造函数,初始化一个空链栈LinkStack(DataTypea[],intn);~LinkStack();//析构函数,释放链栈中各节点的存储空间voidPush(DataTypex);//入栈操作,将元素x入栈DataTypePop();//出栈操作,将栈顶元素出栈DataTypeGetTop();

7、//取栈顶元素(并不删除)12intEmpty(){returntop==NULL?1:0;}//判空操作,判断链栈是否为空栈private:Node*top;//栈顶指针即链栈的头指针};templateLinkStack::LinkStack(DataTypea[],intn){cout<<"执行构造函数"<*s=newNode;s->data=

8、a[i];s->next=top;top=s;}}templatevoidLinkStack::Push(DataTypex){Node*s=newN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。