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

网站建设分享文章如何设计网站logo

网站建设分享文章,如何设计网站logo,软件界面设计软件有哪些,公司官网制作开发模拟栈 题目链接 栈的数组模拟非常简单#xff0c;不详细描述 设置一个指针指向栈顶第一个元素即可 STL中stack实现已经更新在STL_Stack #includeiostream #includestringusing namespace std;const int N1e51; int m; string s; int stack[N]; int p;//指针…模拟栈 题目链接 栈的数组模拟非常简单不详细描述 设置一个指针指向栈顶第一个元素即可 STL中stack实现已经更新在STL_Stack #includeiostream #includestringusing namespace std;const int N1e51; int m; string s; int stack[N]; int p;//指针,指向栈顶元素 int main(){cinm;p0;//刚开始p0说明栈内为空 while(m--){cins;if(spush){int x;cinx;stack[p]x;}else if(spop){p--;}else if(sempty){if(p0)coutYES\n;elsecoutNO\n;}else if(squery){coutstack[p]\n;}}return 0; }表达式求值 思路 关于表达式求值详解可见bilibili视频讲解 需要设置一个符号栈、一个数字栈 其中数字栈比较简单只要扫描到数字直接入栈即可 对于符号栈要注意若是空栈或者当前是左括号符号直接可以进 每次扫描到符号想入栈时如果扫描的符号优先级大于当前栈顶的元素那么可以直接入栈想象成优先级高的可以压住优先级低的但是如果平级即和、-和-这样的那么就不能入栈需要将符号栈中元素不断pop出直到能压住或者栈空毕竟符号优先级相同谁都不服谁那么先入栈的先出去吧 如果有符号出栈那么就立即将其和数字栈中的数字组合求得的值再次压入数字栈中 直到所有元素都被扫描完然后把符号栈中的元素清理干净即可 实现代码 具体思路在代码中写的很清楚了 #includeiostream #includestring #includealgorithm #includestack #includeunordered_mapusing namespace std;stack int num_s;//数字栈 stack char ope_s;//运算符栈 unordered_map char,int h {{,1},{-,1},{*,2},{/,2}};//定义优先级映射集 void eval(){//计算、当有符号出栈时将其和数字栈中的元素结合计算//此时注意元素在栈中的顺序因为对于除法来说a/b和b/a不一样 int a,b;//两个需要被运算的数字 char ope;//运算符 //第二个数字 bnum_s.top();num_s.pop();//第一个数字 anum_s.top();num_s.pop();//运算符opeope_s.top();ope_s.pop(); //进行运算int result;if(ope)resultab;if(ope-)resulta-b;if(ope*)resulta*b;if(ope/)resulta/b;//将计算结果压入栈中 num_s.push(result); }int main(){string s;cins;//读取表达式 for(int i0;is.size();i){//从头扫描表达式 if(isdigit(s[i])){//isdigit()用于判断该元素是否为数字int ji,x0;//因为数字可能为多位数因此需要用while读取并且将字符串中的字符转为int以此用于计算 while(js.size()isdigit(s[j])){xx*10s[j]-0;j;}//读取完就将其放入栈中num_s.push(x);//此时j指向一个操作符由于循环结束时i会,因此这里需要将i的值设为j-1//这样在i后下一次循环扫描的就是操作符了 ij-1;}else if(s[i](){//如果是左括号可以直接压入栈ope_s.push(s[i]); }else if(s[i])){//如果是右括号那么就要将左右括号中间所有的操作符弹出并计算while(ope_s.top()!(!ope_s.empty()){//当栈顶不为(且不为空 eval();//计算计算的时候会自动pop符号 } //最后要把( pop出去ope_s.pop(); }else{//如果是操作符那么就要判断操作符和栈顶元素优先级while(!ope_s.empty()h[ope_s.top()]h[s[i]]){//如果当前扫描的元素不比栈顶元素大那么就要eval弹出栈顶元素直到s[i]能压住栈顶元素 eval();} //如果扫描元素能够压住栈顶元素那么直接入栈ope_s.push(s[i]); }} //扫描完了处理符号栈中剩余元素while(!ope_s.empty()){eval();} coutnum_s.top()endl;return 0; }
http://www.hkea.cn/news/14446794/

相关文章:

  • 怎么让百度搜索到自己的网站洱源网站建设
  • 自助建设分销商城网站蒙阴建设局网站
  • 网站建设商家东莞网站建设市场
  • 阿里云 网站空间个人网站一年多少钱
  • 昆明做整站优化提供石家庄网站推广
  • 常见的站内推广方式有哪几种室内设计公司排名全球
  • 网站后台功能技术要求深圳东门老街有什么好玩的
  • 网站免费正能量小说计算机毕设网站代做
  • 建立网站主页注意那些方面改进网站建设英文作文
  • 自助微信网站设计免费做网站广告
  • 丽江网站开发网站开发工具有组合
  • 网站配色原则wordpress播放网盘视频
  • 一个合格的网站设计境外网站icp备案申请表
  • 零食网站模板下载汽车零部件公司网站建设方案
  • 拉趣网站是谁做的大庆市住房与城乡建设局网站
  • 沧州网站建设微艾薇做网站服务器权限设置
  • 让人做网站需要注意什仓库管理 erp
  • 济南企业营销型网站建设价格中国徐州网
  • 一个电商网站开发要多久请简述网站建设的一般流程图
  • win7 iis网站无法显示该页面看看铜陵新闻
  • 网页设计尺寸快捷键上海全国关键词排名优化
  • 简易网站建设维护少儿编程培训
  • 桂林市做网站的公司洛阳霞光做网站
  • 南昌建设网站页游大全
  • 做网站用jsp和html毕业设计做企业门户网站
  • 化妆品网站建设推广方案营销手机网站版面
  • wordpress站点设置使用期限做定制网站
  • 欧美只做les 网站昆明网站建设案例
  • 网站建设的总体目标推广公司业务话术
  • win8扁平化网站华侨城网站建设