栈的链式存储结构的表示和实现实验报告Word下载.docx

上传人:b****4 文档编号:16576360 上传时间:2022-11-24 格式:DOCX 页数:9 大小:97.27KB
下载 相关 举报
栈的链式存储结构的表示和实现实验报告Word下载.docx_第1页
第1页 / 共9页
栈的链式存储结构的表示和实现实验报告Word下载.docx_第2页
第2页 / 共9页
栈的链式存储结构的表示和实现实验报告Word下载.docx_第3页
第3页 / 共9页
栈的链式存储结构的表示和实现实验报告Word下载.docx_第4页
第4页 / 共9页
栈的链式存储结构的表示和实现实验报告Word下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

栈的链式存储结构的表示和实现实验报告Word下载.docx

《栈的链式存储结构的表示和实现实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《栈的链式存储结构的表示和实现实验报告Word下载.docx(9页珍藏版)》请在冰豆网上搜索。

栈的链式存储结构的表示和实现实验报告Word下载.docx

实验要求:

1.认真阅读和掌握本实验的相关知识。

2.编写程序实现栈的链式存储方式。

3.编写程序实现对栈空的判断以及栈的入栈和出栈操作、取栈顶元素。

4.保存程序的运行结果,结合程序分析链式构造的特点。

5.填写实验报告

概要设计:

(1)初始化链栈。

(2)将链栈置空。

(3)完成入栈和出栈操作,完成取栈顶元素操作。

(4)选择菜单上的0,退出该程序的运行,完毕实验内容。

初始化栈操作,将栈的栈顶指针置为空值,即设栈S和栈顶指针top,S→top=null。

如果所建栈里有数据元素,要将其置空,同样也是将栈顶指针的值置为空值。

入栈操作,向栈里插入数据元素。

首先要为插入数据元素分配结点,将插入数据元素的值赋值给插入结点的数据域,其次修改栈顶指针的指向关系,即修改插入结点和栈顶指针的地址,最后修改栈顶指针。

出栈操作,从栈里删除数据元素。

首先要判断栈是否为空栈,如是空栈那么操作失败。

否那么,进展出栈操作,修改删除结点和栈顶指针,最后释放删除结点。

取栈顶元素。

详细设计:

//链栈类型定义

typedefintElemType;

typedefstructstacknode

{

ElemTypedata;

stacknode*next;

}StackNode;

typedefstruct

stacknode*top;

}LinkStack;

//入栈

voidpushLstack(LinkStack*s,ElemTypex)

StackNode*p;

p=newStackNode;

p->

data=x;

next=s->

top;

s->

top=p;

}

//出栈

ElemTypepopstack(LinkStack*s)

ElemTypex;

p=s->

if(s->

top==0)

{

printf("

栈空,不能出栈!

!

\n"

);

return0;

exit(0);

}

x=p->

data;

%d\n"

x);

top=p->

next;

deletep;

returnx;

//取栈顶元素

ElemTypeStackTop(LinkStack*s)

{

printf("

链栈空!

else

x=s->

top->

当前链栈的栈顶元素为%d"

}top

toptop

1,入栈示意图2,出栈示意图

3,出栈4,取栈顶元素

调试分析:

在调试中出现以上错误,经过查找原程序发现scanf("

%d"

&

cord);

中少填写了地址符。

在调试中出现了初始化以后,没有在主菜单中选择操作就直接运行入栈了,经过查找原程序发现在swich语句中少了break。

测试结果:

实验成绩:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1