链栈的有关操作

链栈的有关操作

ID:33470917

大小:55.00 KB

页数:10页

时间:2019-02-26

链栈的有关操作_第1页
链栈的有关操作_第2页
链栈的有关操作_第3页
链栈的有关操作_第4页
链栈的有关操作_第5页
资源描述:

《链栈的有关操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验3:栈的链接结构的有关操作班级:信息管理学号:L11214022姓名:吴翔翔日期:2014-4-281.实验题目请编制一个程序,利用栈的链接存储方式来实现下列功能:(1)初始化链栈;(2)入栈;(3)通过入栈操作,编写一个n个元素连续入栈的算法:LinkStack*setup_stack(intn),算法返回栈的头指针;(4)输出一个链栈的所有元素;(5)判断栈是否非空;//若栈空返回值为1,否则返回值为0(6)入栈2.需求分析本演示程序在VC++6.0环境下编写调试,完成初始化链栈,将一个元素入栈及出栈,,多个元素连续入栈,还有判断栈是否为空等操作。3、概要设计A:主函数ma

2、in()主函数里需要调用上述函数,大体思路是先调用初始化函数,然后输出“需要入栈的元素个数n”提示,接着进行n作为实参的值的输入,然后调用(3)中的那个setup_stack函数,输出栈中所有元素值,进行出栈几次,在输出栈中元素值。页脚B:初始化函数*initstack()主要是对栈进行初始化。C:输出栈中元素函数print(linkstack*top)D:入栈函数*push(linkstack*top,datatypex)E:出栈函数*pop(linkstack*top)4.调试分析主要叙述本程序调试过程的中所遇到主要问题及其体会:本程序基本上与单链表相似,只不过其所有操作都限定

3、在栈头进行操作。本程序的基本操作并不太难,关键在于它的头指针唯一标示了该栈,调用子函数时有时无法进行,则必是头指针调用出了问题。在调试过程中试了好多次,最后才成功。5.测试结果(运行结果)A:初始化*initstack()页脚B:n个元素连续入栈*setup_stack(linkstack*top,intn)C:一个元素入栈*push(linkstack*top,datatypex)D:元素出栈*pop(linkstack*top)E:判断栈是否非空;//若栈空返回值为1,否则返回值为0页脚6.源程序(带注释)程序清单#include#include

4、.h>#include#definemaxsize50typedefintdatatype;/*typedefstruct{datatypestack[maxsize];inttop;}seqstack;*/typedefstructnode{datatypedata;structnode*next;}linkstack;页脚//初始化函数linkstack*initstack(){linkstack*top;top=NULL;returntop;}//输出栈中元素函数voidprint(linkstack*top){linkstack*p;p=top;if(p

5、==NULL)printf("empty");else{do{printf("%6d",p->data);p=p->next;}while(p!=NULL);printf("");页脚}}//出栈函数linkstack*push(linkstack*top,datatypex){linkstack*p;p=(linkstack*)malloc(sizeof(linkstack));p->data=x;p->next=top;top=p;returntop;}intstackempty(linkstack*top){return(top?0:1);}//n个元素连续入栈函数lin

6、kstack*setup_stack(linkstack*top,intn){inti,x;for(i=0;inext;free(q);returntop;}//主函数voidmain(){linkstack*top;inti,x,k,n;页脚do{printf("");printf("

7、====================================");printf("t1.初始化链栈;");printf("t2.将一个元素入栈");printf("t3.n个元素连续入栈");printf("t4.输出栈所有元素");printf("t5.判断栈是否非空;//若栈空返回值为1,否则返回值为0");printf("t6.出栈");printf("===========================

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

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

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