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

如何建设一个公众号电影网站免费建设在线商城的网站

如何建设一个公众号电影网站,免费建设在线商城的网站,wordpress写接口,上海做网站企业目录 3.3.1栈在括号匹配中的应用流程图算法代码 3.3.2栈在表达式求值中的应用1. 中缀表达式 (需要界限符)2. 后缀表达式 (逆波兰表达式)中缀表达式转后缀表达式-手算重点#xff1a;中缀表达式转后缀表达式-机算重点#xff1a;后缀表达式的计算—机算 3.前缀表达式 (波兰表达… 目录 3.3.1栈在括号匹配中的应用流程图算法代码 3.3.2栈在表达式求值中的应用1. 中缀表达式 (需要界限符)2. 后缀表达式 (逆波兰表达式)中缀表达式转后缀表达式-手算重点中缀表达式转后缀表达式-机算重点后缀表达式的计算—机算 3.前缀表达式 (波兰表达式)4.中缀表达式的计算(用栈实现)5. 知识回顾 3.3.3栈在递归中的应用调用过程 3.3.4 队列的应用 3.3.1栈在括号匹配中的应用 用栈实现括号匹配 ((())) 最后出现的左括号最先被匹配 (栈的特性—LIFO); 遇到左括号就入栈; 遇到右括号就“消耗”一个左括号 (出栈); 匹配失败情况 扫描到右括号且栈空则该右括号单身; 扫描完所有括号后栈非空则该左括号单身; 左右括号不匹配; 流程图 算法代码 #define MaxSize 10 typedef struct{char data[MaxSize];int top; } SqStack;//初始化栈 InitStack(SqStack S)//判断栈是否为空 bool StackEmpty(SqStack S)//新元素入栈 bool Push(SqStack S, char x)//栈顶元素出栈用x返回 bool Pop(SqStack S, char x)bool bracketCheck(char str[], int length){SqStack S; //声明InitStack(S); //初始化栈for(int i0; ilength; i){if(str[i] ( || str[i] [ || str[i] {){Push(S, str[i]); //扫描到左括号入栈}else{if(StackEmpty(S)) //扫描到右括号且当前栈空return false; //匹配失败char topElem; //存储栈顶元素Pop(S, topElem); //栈顶元素出栈if(str[i] ) topElem ! ( )return false;if(str[i] ] topElem ! [ )return false;if(str[i] } topElem ! { )return false; }}StackEmpty(S); //栈空说明匹配成功 } 3.3.2栈在表达式求值中的应用 1. 中缀表达式 (需要界限符) 运算符在两个操作数中间: ① a b ② a b - c ③ a b - c*d ④ ((15 ÷ (7-(11)))×3)-(2(11)) ⑤ A B × (C - D) - E ÷ F 2. 后缀表达式 (逆波兰表达式) 运算符在两个操作数后面: ① a b ② ab c - / a bc- ③ ab cd* - ④ 15 7 1 1 - ÷ 3 × 2 1 1 - ⑤ A B C D - × E F ÷ - (机算结果)A B C D - × E F ÷ - (不选择)中缀表达式转后缀表达式-手算 步骤1 确定中缀表达式中各个运算符的运算顺序 步骤2 选择下一个运算符按照[左操作数 右操作数 运算符]的方式组合成一个新的操作数 步骤3 如果还有运算符没被处理继续步骤2 “左优先”原则: 只要左边的运算符能先计算就优先算左边的 (保证运算顺序唯一) 中缀A B - C * D / E F① ④ ② ③ ⑤ 后缀A B C D * E / - F 重点中缀表达式转后缀表达式-机算 初始化一个栈用于保存暂时还不能确定运算顺序的运算符。从左到右处理各个元素直到末尾。可能遇到三种情况: 遇到操作数: 直接加入后缀表达式。遇到界限符: 遇到 ‘(’ 直接入栈; 遇到 ‘)’ 则依次弹出栈内运算符并加入后缀表达式直到弹出 ‘(’ 为止。注意: ‘(’ 不加入后缀表达式。遇到运算符: 依次弹出栈中优先级高于或等于当前运算符的所有运算符并加入后缀表达式若碰到 ‘(’ 或栈空则停止。之后再把当前运算符入栈。 按上述方法处理完所有字符后将栈中剩余运算符依次弹出并加入后缀表达式。 重点后缀表达式的计算—机算 先出栈的是“右操作数” 3.前缀表达式 (波兰表达式) 运算符在两个操作数前面: ① a b ② - ab c ③ - ab *cd 中缀表达式转前缀表达式—手算 步骤1 确定中缀表达式中各个运算符的运算顺序 步骤2 选择下一个运算符按照[运算符 左操作数 右操作数]的方式组合成一个新的操作数 步骤3 如果还有运算符没被处理就继续执行步骤2 “右优先”原则: 只要右边的运算符能先计算就优先算右边的; 中缀A B * (C - D) - E / F⑤ ③ ② ④ ① 前缀 A - * B - C D / E F 注意: 先出栈的是“左操作数” 4.中缀表达式的计算(用栈实现) 两个算法的结合 中缀转后缀 后缀表达式的求值 初始化两个栈操作数栈 和运算符栈 若扫描到操作数压人操作数栈 若扫描到运算符或界限符则按照“中缀转后缀”相同的逻辑压入运算符栈 (期间也会弹出运算符每当弹出一个运算符时就需要再弹出两个操作数栈的栈项元素并执行相应运算运算结果再压回操作数栈) 5. 知识回顾 3.3.3栈在递归中的应用 迷宫求解也用到栈 函数调用的特点最后被调用的函数最先执行结束(LIFO) 函数调用时需要用一个栈存储 调用返回地址下一条指令的地址实参传递的局部变量自己的 递归调用时函数调用栈称为 “递归工作栈”: 每进入一层递归就将递归调用所需信息压入栈顶 每退出一层递归就从栈顶弹出相应信息 缺点太多层递归可能回导致栈溢出空间复杂度升高也可能含有很多重复计算过程 适合用“递归”算法解决可以把原始问题转换为属性相同但规模较小的问题 调用过程 3.3.4 队列的应用 树的层次遍历、图的广度优先遍历、操作系统FCFS先来先服务
http://wiki.neutronadmin.com/news/419323/

相关文章:

  • 建网站的尺寸手机版app制作软件
  • 免费可商用网站社交网站建设网站
  • 专门做酒的网站有哪些网站文章更新怎么做
  • 网站制作多少页网站备案需先做网站吗
  • 鹰潭网站建设建站推广文案
  • 做网站怎么选空间工业和信息化部产业发展促进中心
  • 深圳市专业做网站北京建网站价格
  • 国外公司网站模板flashfxp 网站
  • 杭州网站建设兼职网站开发哪个公司好
  • 宁波市有哪些网站建设公司社交网站建设技术
  • 建筑效果图网站推荐给一个网站
  • 移动 网站模板深圳建站公司专业公司
  • 青岛响应式网站设计简洁网站模板素材
  • 漳浦县建设局网站window2008r2网站建设
  • 用python写一个简单的网站电商思维做招聘网站
  • 丽水网站制作公司wordpress 开发视频
  • 网站建设 面试问题上海网站快速排名
  • 广州制作网站哪家专业网站 测速度
  • 建网站的公司公司外贸拓客软件有用吗
  • 前台网站系统源码有什么网站做头像
  • 浙江省国有建设用地使用权建议网站php的网站数据库如何上传
  • 网站免费云主机杭州室内设计设计公司前十排名
  • 模板网站与定制开发网站的区别推广网站
  • 无锡建网站电话wordpress建站wifi
  • 手机建站图片建设网站如入什么费
  • 广西住房城乡和建设厅网站首页后端低代码平台
  • 网站充值怎么做的7x7x7x7x8黄全场免费
  • 免费的网站推广怎么做效果好专业电商网站开发
  • 购物类网站开发开一家软件开发公司需要什么
  • 网站开发模板免费下载百度快照推广