- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验报告二栈的应用数据结构实验报告二栈的应用
数据结构实验指导书
姓名:修凌云
姓名:李赛赛
信息与计算科学教研室
实验一 栈及其应用
实验目的
①熟悉栈的基本概念;
②熟练掌握并实现栈的基本操作以及两个栈共享一个存储空间。
③应用栈实现表达式求值(可参考教材71页3.3应用举例)。
实验环境
计算机、vc++
实验学时
4学时,必做实验。
实验步骤
有详细的设计步骤;
编辑源程序并进行调试;
进行运行测试,并结合情况进行调整;
对运行结果进行保存与分析;
把源程序以文件的形式提交;
实验内容
1.1.根据栈的存储结构,分别给出可执行的源代码。
实验要求:
能够对于不同的数据类型进行栈的初始化,入栈,出栈和取栈顶元素以及对栈的判空和销毁等操作。并且注意边界条件。要求有测试案例和输出结果。
程序运行效果示例:
程序源代码
#includeiostream.h
const int StackSize=20;
struct student
{
int age;
int num;
void printfinfo()
{
coutage = age num= numendl;
}
};
templateclass DataType
class SeqStack
{
public:
SeqStack(){top=-1;} //构造函数,初始化一个空栈
SeqStack(DataType a[],int n);
void Push(DataType x); //入栈操作,将元素x入栈
DataType Pop(); //出栈操作,将栈顶元素弹出
DataType GetTop(); //取栈顶元素(并不删除)
int Empty(); //判断栈是否为空
private:
DataType data[StackSize]; //存放栈元素的数组
int top; //栈顶指针,为栈元素在数组中的下标
};
templateclass DataType
SeqStackDataType::SeqStack(DataType a[],int n)
{
top = -1;
for(int i=0;in;i++){
if(top==StackSize-1)throw数组元素个数超出栈存储个数;
data[i]=a[i];
top=n-1;
}
}
templateclass DataType
void SeqStackDataType::Push(DataType x)
{
if(top==StackSize-1)throw上溢;
data[++top]=x;
}
templateclass DataType
DataType SeqStackDataType::Pop()
{
DataType x;
if(top==-1)throw下溢;
x=data[top--];
return x;
}
templateclass DataType
DataType SeqStackDataType::GetTop()
{
DataType x;
if(top==-1)throw下溢;
x=data[top];
return x;
}
templateclass DataType
int SeqStackDataType::Empty()
{
return top==-1? 1: 0;
}
#includeiostream.h
templateclass DataType
struct Node
{
DataType data;
NodeDataType *next;
};
templateclass DataType
class LinkStack
{
public:
LinkStack(){top=NULL;} //构造函数,初始化一个空链栈
LinkStack( DataType a[],int n );
~LinkStack(); //析构函数,释放链栈中各节点的存储空间
void Push(DataType x); //入栈操作,将元素x入栈
DataType Pop(); //出栈操作,将栈顶元素出栈
Data
您可能关注的文档
- 数学建模与数学实验考点.ppt
- 数学学科游戏期刊检索.doc
- 数学初二升初三.doc
- 数学建模竞赛案例选讲.ppt
- 数学人教A版必修一习题1.3答案.ppt
- 数学建模-微分方程与模糊数学.ppt
- 数学建模-聚类分析因子分析实例.doc
- 数学建模迪杰斯特拉算法例题.ppt
- 数学暑假作业60题四年级.doc
- 数学建模选拔方案及试题.doc
- (70页PPT)关于8D问题解决法.pptx
- (71页PPT)美的楼宇科技双微运营方案.pptx
- (70页PPT)进阶技能揭秘真相.pptx
- (98页PPT)干部人事档案管理.pptx
- (87页PPT)工作票及操作票管理实施解读.pptx
- (83页PPT)进阶技能标题栏设计.pptx
- (87页PPT)ISO45001职业健康安全管理体系培训.pptx
- (68页PPT)某省市文旅夏日夜经济系列某省市集活动策划方案.pptx
- (69页PPT)变态心理学与健康心理学知识.ppt
- 2024年秋鲁教版(54制)6年级上册英语教学课件 Unit5 Section B (2a-Reflecting) (第5课时).pptx
文档评论(0)