欢迎来到天天文库
浏览记录
ID:53305447
大小:18.76 KB
页数:8页
时间:2020-04-03
《数据结构:栈子系统.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
此文档下载收益归作者所有