当前位置: 首页 > news >正文

上海最好的网站建设一站式企业建站制作

上海最好的网站建设,一站式企业建站制作,云南楚雄彝族自治州,北京网站建设公司黄页实现方法#xff1a; 初始化一个栈#xff0c;用于保存暂时还不能确定运算顺序的运算符。从左到右处理各个元素#xff0c;直到末尾。可能遇到三种情况: 遇到操作数。直接加入后缀表达式遇到界限符。遇到“(”直接入栈;遇到“)”则依次弹出栈内运算符并加入后缀表达式… 实现方法          初始化一个栈用于保存暂时还不能确定运算顺序的运算符。从左到右处理各个元素直到末尾。可能遇到三种情况: 遇到操作数。直接加入后缀表达式遇到界限符。遇到“(”直接入栈;遇到“)”则依次弹出栈内运算符并加入后缀表达式直到弹出“(”为止。注意:“(”不加入后缀表达式。遇到运算符。依次弹出栈中优先级高于或等于当前运算符的所有运算符并加入后缀表达式,若磁到“(”或栈空则停止。之后再把当前运算符入栈。 按上述方法处理完所有字符后将栈中剩余运算符依次弹出并加入后缀表达式。 #includestdio.h #includemalloc.h #define MaxSize 100 typedef struct Stack{char data[MaxSize];int top; }Stack; void initStack(Stack* S){S (Stack *)malloc(sizeof(Stack));S-top-1; } bool push(Stack * S, char e){if(S-top MaxSize - 1)return false;S-data[S-top] e;printf(元素%c进栈\n,e);return true; } bool pop(Stack * S,char e){if(S-top-1)return false;e S-data[S-top--];printf(元素%c出栈\n,e);return true; } bool getTop(Stack * S, char e){if(S-top-1)return false;e S-data[S-top];return true; } bool emptyStack(Stack * S){return S-top-1; } int getSymbolPriority(char c){if(c||c-)return 1;elsereturn 2; } int main() {Stack *s;char str[MaxSize];//中缀表达式 char houZhui[MaxSize];//后缀表达式 int index0;scanf(%s,str);initStack(s);for(int i0;str[i]!\0;i){printf(第%d次操作\n,i1); if(str[i] || str[i]- || str[i]* || str[i]/){int v1 getSymbolPriority(str[i]);while(!emptyStack(s)){char e;getTop(s,e);if(e()break;int v2 getSymbolPriority(e);if(v2v1){pop(s,e);houZhui[index]e;}elsebreak;}push(s,str[i]);}else if(str[i]( || str[i])){if(str[i]()push(s,str[i]);elsewhile(!emptyStack(s)){char e;getTop(s,e);if(e(){pop(s,e);break;c}else{pop(s,e);houZhui[index]e;} }}else{houZhui[index]str[i];}printf(此时后缀表达式元素为:);for(int j0;jindex;j)printf(%c,houZhui[j]);printf(\n\n\n); }printf(栈中剩余元素依次弹出:\n);while(!emptyStack(s)){char e;pop(s,e);houZhui[index]e;}printf(\n最终结果为:\n);for(int i0;iindex;i)printf(%c,houZhui[i]);return 0; } //AB-C*D/EF //AB*(C-D)-E/F 运行结果 输入 AB-C*D/EF 输出 第1次操作 此时后缀表达式元素为:A 第2次操作 元素进栈 此时后缀表达式元素为:A 第3次操作 此时后缀表达式元素为:AB 第4次操作 元素出栈 元素-进栈 此时后缀表达式元素为:AB 第5次操作 此时后缀表达式元素为:ABC 第6次操作 元素*进栈 此时后缀表达式元素为:ABC 第7次操作 此时后缀表达式元素为:ABCD 第8次操作 元素*出栈 元素/进栈 此时后缀表达式元素为:ABCD* 第9次操作 此时后缀表达式元素为:ABCD*E 第10次操作 元素/出栈 元素-出栈 元素进栈 此时后缀表达式元素为:ABCD*E/- 第11次操作 此时后缀表达式元素为:ABCD*E/-F 栈中剩余元素依次弹出: 元素出栈 AB-C*D/EF 转为后缀表达式最终结果为: ABCD*E/-F 输入 AB*(C-D)-E/F 输出 第1次操作 此时后缀表达式元素为:A 第2次操作 元素进栈 此时后缀表达式元素为:A 第3次操作 此时后缀表达式元素为:AB 第4次操作 元素*进栈 此时后缀表达式元素为:AB 第5次操作 元素(进栈 此时后缀表达式元素为:AB 第6次操作 此时后缀表达式元素为:ABC 第7次操作 元素-进栈 此时后缀表达式元素为:ABC 第8次操作 此时后缀表达式元素为:ABCD 第9次操作 元素-出栈 元素(出栈 此时后缀表达式元素为:ABCD- 第10次操作 元素*出栈 元素出栈 元素-进栈 此时后缀表达式元素为:ABCD-* 第11次操作 此时后缀表达式元素为:ABCD-*E 第12次操作 元素/进栈 此时后缀表达式元素为:ABCD-*E 第13次操作 此时后缀表达式元素为:ABCD-*EF 栈中剩余元素依次弹出: 元素/出栈 元素-出栈 AB*(C-D)-E/F 转为后缀表达式最终结果为: ABCD-*EF/-
http://www.w-s-a.com/news/538003/

相关文章:

  • 松原企业网站建设设计素材网排名
  • 网站建设是那个行业广东公司排名
  • 制作网站要多少钱seo是如何优化
  • 求个网站2020急急急做金融网站拘留多久
  • 网站后台管理系统怎么进seo网络推广外包公司
  • 中山市 做网站网站建设如何上传文件
  • 网站呢建设公众号制作要求
  • 网站备案证明在自己电脑上做网站
  • 沈阳旅游团购网站建设怎么制作网站搜索窗口
  • 做化学合成的网站有哪些枣庄住房和城乡建设局网站
  • 天猫优惠券网站怎么做的网络连接
  • 保定网站建设多少钱公司网页网站建设+ppt模板下载
  • 用户上传商品网站用什么做建设跳转公积金网站
  • 买程序的网站上海市网站建设公司
  • 南通网站建设排名公司哪家好wordpress网站图片迁移
  • 河南省汝州文明建设门户网站博客网站建设源码
  • 单位建设网站的请示手机移动端网站案例
  • 国内做网站的企业网站结构有哪些类型
  • 南通网站建设制作公司苏州好的网站公司名称
  • 咸阳做网站开发公司哪家好珠海公司制作网站
  • 深圳网站建设好不好医疗网站前置审批
  • 做ic什么网站好安溪网站建设
  • 网站建设 慕课企业文化标语经典
  • 做短视频的网站都有哪些简约 时尚 高端 网站建设
  • 浦口区网站建设售后服务建设一个网站多少钱
  • 做个小网站大概多少钱广州h5网站
  • 360免费建站视频wordpress标签显示图片
  • 创建简易个人网站国外做网站被动收入
  • 轻定制网站建设网页培训哪个机构好
  • 青岛海诚互联做网站好吗计算机软件开发培训机构