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

泰安肥城做网站的公司seo少女

泰安肥城做网站的公司,seo少女,ecshop网站根目录在哪,phpcms可以做哪些网站实现方法: 初始化一个栈,用于保存暂时还不能确定运算顺序的运算符。从左到右处理各个元素,直到末尾。可能遇到三种情况: 遇到操作数。直接加入后缀表达式遇到界限符。遇到“(”直接入栈;遇到“)”则依次弹出栈内运算符并加入后缀表达式&…

实现方法: 

        初始化一个栈,用于保存暂时还不能确定运算顺序的运算符。从左到右处理各个元素,直到末尾。可能遇到三种情况:

  1. 遇到操作数。直接加入后缀表达式
  2. 遇到界限符。遇到“(”直接入栈;遇到“)”则依次弹出栈内运算符并加入后缀表达式,直到弹出“(”为止。注意:“(”不加入后缀表达式。
  3. 遇到运算符。依次弹出栈中优先级高于或等于当前运算符的所有运算符,并加入后缀表达式,若磁到“(”或栈空则停止。之后再把当前运算符入栈。

按上述方法处理完所有字符后,将栈中剩余运算符依次弹出,并加入后缀表达式。

#include<stdio.h>
#include<malloc.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 index=0;scanf("%s",str);initStack(s);for(int i=0;str[i]!='\0';i++){printf("第%d次操作\n",i+1); 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(v2>=v1){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 j=0;j<index;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 i=0;i<index;i++)printf("%c",houZhui[i]);return 0;
} 
//A+B-C*D/E+F
//A+B*(C-D)-E/F

运行结果:

 输入:

A+B-C*D/E+F

输出:
第1次操作
此时后缀表达式元素为:A

第2次操作
元素+进栈
此时后缀表达式元素为:A

第3次操作
此时后缀表达式元素为:AB

第4次操作
元素+出栈
元素-进栈
此时后缀表达式元素为:AB+

第5次操作
此时后缀表达式元素为:AB+C

第6次操作
元素*进栈
此时后缀表达式元素为:AB+C

第7次操作
此时后缀表达式元素为:AB+CD

第8次操作
元素*出栈
元素/进栈
此时后缀表达式元素为:AB+CD*

第9次操作
此时后缀表达式元素为:AB+CD*E

第10次操作
元素/出栈
元素-出栈
元素+进栈
此时后缀表达式元素为:AB+CD*E/-

第11次操作
此时后缀表达式元素为:AB+CD*E/-F

栈中剩余元素依次弹出:
元素+出栈

A+B-C*D/E+F
转为后缀表达式最终结果为:
AB+CD*E/-F+

 输入:

A+B*(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

栈中剩余元素依次弹出:
元素/出栈
元素-出栈

A+B*(C-D)-E/F
转为后缀表达式最终结果为:
ABCD-*+EF/-

http://www.zhongyajixie.com/news/56790.html

相关文章:

  • 垣宝建设工程集团网站企业网站推广的一般策略
  • 万州网站制作公司推广关键词优化
  • 深圳哪做网站免费建站网站
  • 国有企业查询系统百度seo规则
  • 网站制作发票企业网站的作用有哪些
  • 做游戏模板下载网站有哪些内容2020年可用好用的搜索引擎
  • 网络营销优化郑州seo排名优化公司
  • 做时时彩网站平台有哪些百度关键词搜索引擎
  • 网站建设--机械行业解决方案推广策略有哪些方法
  • 牡丹江seo网站推广蜘蛛屯优化排名南京seo圈子
  • 做网站源码市场营销
  • 春风家教营销型网站建设网站关键词优化建议
  • 唯品会一家专门做特卖的网站seo范畴
  • 做公司网站要营业执照吗如何推广小程序
  • 游戏网站建设成功案例安年软文网
  • 网站是用什么软件做的吗网络营销推广外包服务
  • 公司注册资金是真的吗东莞优化排名公司
  • 公众号开发渠道二维码怎么做河南郑州网站推广优化
  • 中国都在那个网站上做外贸seo优化总结
  • 手机网站建设liedns企业网站推广方法实验报告
  • 玉林建设银行网站最近几天的重大新闻事件
  • 网络管理系统的管理软件seo简介
  • wordpress编辑新页面代码seo图片优化
  • 国内旅行做行程网站竞价推广托管
  • 西部数据网站建设seo关键词搜索和优化
  • 做影视网站被告怎么办中央今日头条新闻
  • CSS3网站推广网站seo优化价格
  • 秦皇岛建设管理中心网站网址提交百度收录
  • 电商网站图片是谁做产品质量推广营销语
  • 网站开发项目百度校招