栈代码 有入栈和出栈功能.doc

栈代码 有入栈和出栈功能.doc

ID:55342834

大小:43.50 KB

页数:6页

时间:2020-05-11

栈代码   有入栈和出栈功能.doc_第1页
栈代码   有入栈和出栈功能.doc_第2页
栈代码   有入栈和出栈功能.doc_第3页
栈代码   有入栈和出栈功能.doc_第4页
栈代码   有入栈和出栈功能.doc_第5页
资源描述:

《栈代码 有入栈和出栈功能.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、求C语言栈代码要求有入栈和出栈功能谢谢。完整的能运行的C语言程序,不要伪代码。#include"stdio.h"#defineMAXLEN100typedefstructstacknode{intdata;structstacknode*next;}stacknode;typedefstruct{stacknode*top;}linkstack;/*-----------------进栈操作----------------------------------------*/intPush(linkstack*s,intx){stacknode*p=(stackn

2、ode*)malloc(sizeof(stacknode));p->data=x;p->next=s->top;x=p->data;s->top=p->next;free(p);returnx;}/*-------------出栈操作------------------------------------------*/intPop(linkstack*s){intx;stacknode*p=s->top;x=p->data;s->top=p->next;free(p);returnx;}/*---------------显示栈内元素--------------

3、---------------------------*/voidShowStack(linkstack*s){stacknode*p=s->top;if(p==NULL)printf("ttstackisempty.");else{printf("ttThecharofzhanis:");while(p!=NULL){printf("%6d",p->data);p=p->next;}printf("");}}/*-------------------二进制----十进制的转换----------------------*/voidConvers

4、ion(intn){linkstacks;stacknode*p=(stacknode*)malloc(sizeof(stacknode));intx;s.top=NULL;do{x=n%2;n=n/2;p->next=s.top;s.top=p;s.top->data=x;}while(n);printf("ttTheconvertedbinaryintis:");while(s.top){printf("%d",s.top->data);p=s.top;s.top=s.top->next;free(p);}printf("");getchar()

5、;}/*-------------Suffix----------------------------*/voidSuffix(){charstr[MAXLEN];charstack[MAXLEN];charexp[MAXLEN];charch;intn,i,j,t,top=0;printf("tt*inputtheexpression,finishedwith#*");printf("ttInputanintergerexpression:");i=0;do{i++;scanf("%c",&str[i]);}while(str[i]!='#

6、'&&i!=MAXLEN);n=i;t=1;i=1;ch=str[i];i++;while(ch!='#'){switch(ch){case'(':top++;stack[top]=ch;break;case')':while(stack[top]!='('){exp[t++]=stack[top--];exp[t++]=',';}top--;break;case'+':case'-':while(top!=0&&stack[top]!='('){exp[t++]=stack[top--];exp[t++]=',';}stack[++top]=ch;break;

7、case'*':case'/':while(stack[top]=='*'

8、

9、stack[top]=='/'){exp[t++]=stack[top--];exp[t++]=',';}stack[++top]=ch;break;case'':break;default:while(ch>='0'&&ch<='9'){exp[t++]=ch;ch=str[i++];}i--;exp[t++]=',';}while(top!=0){exp[t++]=stack[top--];}printf("ttInputexpresstion:");for(j=1;j

10、;j++)printf(

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

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

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