数据结构实验三之顺序栈(5页).doc

上传人:1595****071 文档编号:36347409 上传时间:2022-08-26 格式:DOC 页数:5 大小:20KB
返回 下载 相关 举报
数据结构实验三之顺序栈(5页).doc_第1页
第1页 / 共5页
数据结构实验三之顺序栈(5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《数据结构实验三之顺序栈(5页).doc》由会员分享,可在线阅读,更多相关《数据结构实验三之顺序栈(5页).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-#include#include#define MAXSIZE 100typedef int DataType;typedef struct stackDataType dataMAXSIZE;int top;sqstack;sqstack *InitStack(sqstack *S)/顺序栈的初始化S-top=-1;return S;void push(sqstack *S,DataType x)/顺序栈的元素入栈if(S-topMAXSIZE-1)printf(error!);elseS-top+;S-dataS-top=x;DataType pop(sqstack *S)/顺序栈的元素

2、出栈int x;if(S-top=-1)printf(Underflow!);elsex=S-dataS-top;printf(出栈的值为:%5dn,S-dataS-top);S-top-;return x;DataType GetTop(sqstack *S)/顺序栈取顶元素if(S-top=-1)printf(Underflow!n);return 0;elsereturn S-dataS-top;int Empty(sqstack *S)/顺序栈的判空if(S-top=-1)return 1;else return 0;void Digit_conversion(sqstack *S)i

3、nt x,y,dataMAXSIZE,c,count=0;InitStack(S);printf(请输入一个十进制数,在输入一个其他进制数:n);scanf(%d%d,&x,&y);printf(将%d的十进制数将其转化为%d进制数:n,x,y);while(x)push(S,x%y);x=x/y;while(!Empty(S)datacount=pop(S);count +;c=count;printf(转换后的结果为:t);for(count=0;count9)printf(%c,datacount+A-10); else printf(%dt,datacount);printf(%n);

4、void menu()printf(* *n);printf(* 0 退 出 *n);printf(* 1 顺序栈的初始化 *n);printf(* 2 顺序栈的入栈 *n);printf(* 3 顺序栈的出栈 *n);printf(* 4 获取顺序栈的顶元素 *n);printf(* 5 顺序栈的的判空 *n);printf(* 6 利用顺序栈将十进制 *n);printf(* 转换为其他进制数 *n);printf(*n);int main()sqstack *L,*Sqstack;int flag=1,number1,number2,data,a;char ch,ch1;L=(sqsta

5、ck *)malloc(sizeof(sqstack);menu();while(flag)doprintf(请输入一个07的数:.);scanf(%d,&number1);ch=getchar();if(number17)printf(输入有误,请重新输入!n);while(number17);switch(number1)case 0:flag=0;break;case 1:Sqstack=InitStack(L);break;case 2:printf(你确定要输入入栈的数据?如果要输入请输入y/Y:n);ch1=getchar();while(ch1=y|ch1=Y)printf(输入

6、你要入栈的数据:n);scanf(%d,&data);fflush(stdin);push(Sqstack,data);printf(你还要输入入栈的数据?如果要输入请输入y/Y:n);ch1=getchar();break;case 3:pop(Sqstack);break;case 4:number2=GetTop(Sqstack);printf(输入取出的栈顶元素:n);printf(其值为:%5dn,number2);break;case 5:a=Empty(Sqstack);if(a=1)printf(顺序栈为空!n);elseprintf(顺序栈不为空!n);break;case 6:Digit_conversion(Sqstack);break;return 0;-第 5 页-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁