资源简介
数据结构 栈 表达式求值数据结构 栈 表达式求值数据结构 栈 表达式求值

代码片段和文件信息
#include“biaodashi.h“
int InitStack(SqStack *S)
{
(*S).base = (SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if( !(*S).base )
exit(0);
(*S).top = (*S).base;
(*S).stacksize = STACK_INIT_SIZE;
return 1;
}
int GetTop(SqStack SSElemType *e)
{
if(S.top > S.base)
{
*e = *(S.top-1);
return 1;
}
else
return 0;
}
int Push(SqStack *S SElemType e)
{
if((*S).top - (*S).base >= (*S).stacksize)
{
(*S).base = (SElemType *)realloc((*S).base
((*S).stacksize + STACKINCREMENT) * sizeof(SElemType));
if( !(*S).base )
exit(0);
(*S).top = (*S).base+(*S).stacksize;
(*S).stacksize += STACKINCREMENT;
}
*((*S).top)++=e;
return 1;
}
int Pop(SqStack *SSElemType *e)
{
if((*S).top == (*S).base)
return 0;
*e = *--(*S).top;
return 1;
}
SElemType Precede(SElemType t1SElemType t2)
{
SElemType f;
switch(t2)
{
case ‘+‘:
case ‘-‘:if(t1==‘(‘||t1==‘#‘)
f=‘<‘;
else
f=‘>‘;
break;
case ‘*‘:
case ‘/‘:if(t1==‘*‘||t1==‘/‘||t1==‘)‘)
f=‘>‘;
else
f=‘<‘;
break;
case ‘(‘:if(t1==‘)‘)
{
printf(“ERROR\n“);
exit(0);
}
else
f=‘<‘;
break;
case ‘)‘:switch(t1)
{
case ‘(‘:f=‘=‘;
break;
case ‘#‘:printf(“ERROR\n“);
exit(0);
default: f=‘>‘;
}
break;
case ‘#‘:switch(t1)
{
case ‘#‘:f=‘=‘;
break;
case ‘(‘:printf(“ERROR\n“);
exit(0);
default: f=‘>‘;
}
}
return f;
}
int In(SElemType c)
{
switch(c)
{
case‘+‘:
case‘-‘:
case‘*‘:
case‘/‘:
case‘(‘:
case‘)‘:
case‘#‘:
return 1;
default:
return 0;
}
}
SElemType Operate(SElemType aSElemType thetaSElemType b)
{
SElemType c;
switch(theta)
{
case‘+‘:
c=a+b;
break;
case‘-‘:
c=a-b;
break;
case‘*‘:
c=a*b;
break;
case‘/‘:
c=a/b;
}
return c;
}
SElemType Evaluateexpression()
{
SqStack OPTROPND;
SElemType abdxtheta;
char c;
char z[10];
int i;
InitStack(&OPTR);
Push(&OPTR‘#‘);
InitStack(&OPND);
c=getchar();
GetTop(OPTR&x);
while(c!=‘#‘||x!=‘#‘)
{
if(In(c))
switch(Precede(xc))
{
case‘<‘:Push(&OPTRc);
c=getchar();
break;
case‘=‘:Pop(&OPTR&x);
c=getchar();
break;
case‘>‘:Pop(&OPTR&theta);
Pop(&OPND&b);
Pop(&OPND&a);
Push(&OPNDOperate(athetab));
break;
}
else if(c>=‘0‘&&c<=‘9‘)
{
i=0;
do
{
z[i]
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3224 2011-10-30 22:04 biaodashi\biaodashi.c
文件 4450 2011-10-30 23:10 biaodashi\biaodashi.dsp
I.A.... 543 2011-11-22 00:07 biaodashi\biaodashi.dsw
文件 213 2011-10-30 22:04 biaodashi\biaodashi.h
文件 50176 2011-11-20 18:03 biaodashi\biaodashi.ncb
I.A.... 48640 2011-11-22 00:07 biaodashi\biaodashi.opt
文件 1689 2011-10-30 22:04 biaodashi\biaodashi.plg
文件 157 2011-11-10 01:44 biaodashi\biaodashitest.c
文件 168034 2011-10-30 22:04 biaodashi\Debug\biaodashi.exe
文件 189528 2011-10-30 22:04 biaodashi\Debug\biaodashi.ilk
文件 10169 2011-10-30 22:04 biaodashi\Debug\biaodashi.obj
文件 177960 2011-10-30 22:04 biaodashi\Debug\biaodashi.pch
文件 377856 2011-10-30 22:04 biaodashi\Debug\biaodashi.pdb
文件 2894 2011-10-30 22:04 biaodashi\Debug\biaodashitest.obj
文件 33792 2011-10-30 22:04 biaodashi\Debug\vc60.idb
文件 53248 2011-10-30 22:04 biaodashi\Debug\vc60.pdb
I..D... 0 2011-11-22 00:07 biaodashi\Debug
目录 0 2011-11-20 18:03 biaodashi
----------- --------- ---------- ----- ----
1122573 18
相关资源
- 由浅入深,蓝牙4.0/BLE协议栈开发攻略
- Python全栈学习笔记面向对象大作业:
- 栈的实现及应用,六种基本算法
- 利用一个循环队列实现顺序栈重新排
- 数据结构实验 基于栈的表达式求值
- VxWorks TCPIP协议栈
- 表达式求值C 代码(附实验报告)
- 前端Vue+Node+MongoDB高级全栈开发
- 智能传感器的蓝牙协议栈与SoC结构设
- 智能传感器的蓝牙协议栈与SoC结构解
- 栈桥钢桁架设计、施工及维护问题探
- Spring Boot技术栈博客企业前后端2018
- 民宿客栈家庭旅馆管理软件02
- 数据结构算术表达式求值实验报告
- 数据结构 课程设计 中缀算术表达式求
- IC客栈-M1卡数据对比工具
- 表达式求值问题 数据结构
- 表达式求值 数据结构
- vue高仿知乎日报单页面应用技术栈v
- CCP 协议栈
- stm32 网络远程IAP(支持stm32的网络远程
- 堆栈应用题 代码
- 信创产业深度研究:204页报告深度解
- linux内核tcp/ip协议栈分析PDF
- 基于zigbee的温度传感器DS18B20
- pwn栈溢出10道练习题有writeup
- J1939协议栈(包括源码和标准)
- 程序崩溃自动重启以及将未捕获到的
- 《数据结构_课程设计》表达式求值
- 《netty权威指南》私有协议栈开发完整
评论
共有 条评论