数据结构:栈子系统.doc

数据结构:栈子系统.doc

ID:53305447

大小:18.76 KB

页数:8页

时间:2020-04-03

数据结构:栈子系统.doc_第1页
数据结构:栈子系统.doc_第2页
数据结构:栈子系统.doc_第3页
数据结构:栈子系统.doc_第4页
数据结构:栈子系统.doc_第5页
资源描述:

《数据结构:栈子系统.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、/**题目:设计一个字符型的链栈。*编写进栈、出栈、显示栈中全部元素的程序。*题目:编写一个把十进制整数转换为二进制数的应用程序*题目:编写一个把中缀表达式转换为后缀表达式(逆波兰式)的应用程序*题目:设计一个选择式菜单,以菜单方式选择上述操作。*栈子系统**********************************1------进栈***2------出栈***3------显示***4------数值转换***5------逆波兰式***0------返回**********************************请选择菜单号(0--5):*/#inclu

2、de#include#defineSTACKMAX50typedefstructsta//栈的存储结构{intdata;structsta*next;}stackNode;typedefstruct//指向栈顶的指针{stackNode*top;}linkStack;voidconversion(intn);voidpush(linkStack*p,intx);intpop(linkStack*p);voidshowStack(linkStack*p);voidsufflx();/****************************

3、*********************Function:main()Description:主调函数Calls:push()pop()showStack()conversion()Input:NULLReturn:voidOthers:NULL*************************************************/voidmain(){intx,choice,i=1;linkStackp;p.top=NULL;//置空栈while(i){printf("栈子系统");printf("**************************

4、*****");printf("*1------进栈*");printf("*2------出栈*");printf("*3------显示*");printf("*4------数值转换*");printf("*5------逆波兰式*");printf("*0------返回*");printf("*******************************");printf("请选择菜单号(0--5):");fflush(stdin);//清空输入的缓存区choice=getchar();switch(choice){case'1':

5、while(1){printf("请输入一个整数(‘0’表示结束)并按回车:");scanf("%d",&x);if(x!=0){push(&p,x);//入栈}else{break;}}break;case'2':x=pop(&p);//出栈if(x>0){printf("出栈元素为:%d",x);}else{printf("栈为空,没有元素可以出栈!");}break;case'3':showStack(&p);//显示栈元素break;case'4':printf("请输入十进制数:");scanf("%d",&x);conversion(x);//数值转换b

6、reak;case'5':sufflx();break;case'0':i=0;break;default:i=1;break;}}}/*************************************************Function:conversion()Description:十进制数转换二进制数Calls:push()pop()Input:n:输入的要转换的数Return:voidOthers:NULL*************************************************/voidconversion(intn){link

7、Stacks;intx,i=1;s.top=NULL;//置空栈do{x=n%2;//求余数n=n/2;//求新商push(&s,x);//入栈}while(n);printf("转化的二进制为:");while(i){x=pop(&s);//出栈if(x!=-1)//判断是否全部出栈{printf("%d",x);}else{i=0;}}printf("");}voidsufflx(){charstr[STACKMAX];//存储中缀表达式charexp[STACKMAX];//存储后缀表达式charstar

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

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

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