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

深圳网站建设建设关键词查询工具哪个好

深圳网站建设建设,关键词查询工具哪个好,老电脑做网站服务器,重庆网站建设优化栈和队列的应用 目录 栈和队列的应用 一、括号匹配(栈) 二、表达式的各种转换 (1)中缀转后缀(手工) (2)后缀转中缀表达式(手工) (3)中缀转后缀(栈) (4)中缀转后缀(树) (5)后缀表达式求值 (6)中缀表达式求值(栈…

 栈和队列的应用


目录

 栈和队列的应用

一、括号匹配(栈)

二、表达式的各种转换

(1)中缀转后缀(手工)

(2)后缀转中缀表达式(手工)

(3)中缀转后缀(栈)

(4)中缀转后缀(树)

(5)后缀表达式求值

(6)中缀表达式求值(栈)

三、栈在递归的应用

四、队列的应用

一、括号匹配(栈)

        思想:括号匹配就是有() [] {},各种各样的括号,符合相应匹配的括号正确,否则为非法情况。

        主要利用栈,给括号凑存入数组中。然后读取,当读取左括号时,入栈,当遇到右括号时,栈内出栈,与之对比,若匹配则继续扫描数组,否则则非法,程序结束,非法情况除了括号不对应外,还有,两种,一个是扫到右括号,去栈内拿括号,结果栈空了。另一种则是栈内还有括号,但是数组已经读取完了。

        代码如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//创建栈
typedef struct
{char data[50];int top;	
}SqStack;
void InitStack(SqStack *s)
{s->top=-1;	
}
//入栈 
void StackPush(SqStack *s,char x)
{s->top++;s->data[s->top]=x;
}
//出栈
void StackPop(SqStack *s,char *e)
{if(s->top == -1){printf("栈都空了,没东西了\n");exit(-1);}*e =s->data[s->top];s->top--;			
}
void  KuohaoMatch(char *num,int len)
{SqStack s;InitStack(&s);int i;for(i=0;i<len;i++){if(num[i]=='(' || num[i]=='[' || num[i]== '{') StackPush(&s,num[i]);else{if(s.top== -1){printf("栈内没有匹配的括号,匹配失败\n"); exit(-1);}char e='a';StackPop(&s,&e);if(num[i]=='}' && e != '{') {printf("}匹配失败\n");exit(-1);}if(num[i]==']' && e != '[') {printf("]匹配失败\n");exit(-1);}if(num[i]==')' && e != '(') {printf(")匹配失败\n");exit(-1);}}} if(s.top==-1)printf("匹配完毕,未发现异常,匹配成功\n");elseprintf("栈内仍有括号,匹配失败\n"); }int main()
{char num[10]="{([])}";int len=strlen(num);KuohaoMatch(num,len);return 0;
}

二、表达式的各种转换

       表达式,根据操作符的位置,有不同的叫法,如a+b,为中缀,因为+在中间。同理+ab为前缀,ab-为后缀。

        我们日常见到的为中缀表达式,但如果让计算机识别的话,比较费劲,因此我们如果给中缀表达式转化为后缀表达式(当计算机遇到两个操作数和一个操作算符就会直接计算)或前缀表达式(当计算机遇到一个操作算符和两个操作数就会直接计算),这计算机就可直接进行计算,

(1)中缀转后缀(手工)

        如:A+B*(C-D)-E/F.

由于同级操作算符,中缀可以转不同的后缀表达式,不唯一

两种计算方法:
        方法一:我们可以根据优先级,一块一块的去算,先计算(C-D)为CD-,E/F为EF/,而B*(CD-)也是两操作数,因此为BCD-*,随后A+(BCD-*)为两个操作数,所以ABCD-*+,最后(ABCD-*+)-(EF/)为两个操作数,因此为:ABCD-*+EF/-.

 方法二:从左至右书写字符,按照优先级,如果能计算,优先计算,

(2)后缀转中缀表达式(手工)

        后缀表达式则跟中缀思想差不多,也是块思想,每一个小的操作计算,都是一小块一个整体,又内向外,逐层计算。

 注意:变为中缀,要根据优先级,加括号记得,此外由后缀转中缀,结果唯一

(3)中缀转后缀(栈)

        之前是手工草稿推的,一般选择填空应用,够用了,不过如果,要求按照栈的思想,去实现中缀转后缀,则需要学一下这个。

        大致思想:遍历到字符,直接输出,遍历到操作符,给它入栈,如果又遇到操作符,便与栈顶的操作符对比,如果栈顶的操作符优先级高,则给栈顶弹出,优先级低的,入栈。此外遇到(),先入(,之后遇见),则给栈内(之前的内容都弹出。

        

(4)中缀转后缀(树)

即给表达式,写成树的形式,其中根节点为符号,每一棵树为一个小计算整体,此外选每颗树的根时,先理清楚计算先后,以及整体。

        给中缀先转化成树的形式。

根据计算优先级,划分括号,然后再原意义一样的情况下,组成树。最开始的根节点为操作符。

如:A+B*(C-D)-E/F

 

 

 


        给出表达式树,求中缀或前缀,后缀表达式:

给每个结点表上1 2 3,然后从最上层开始画线,跑一圈,其中1代表前缀,2中缀,3后缀

(5)后缀表达式求值

        利用栈的大致思想:给操作数入栈,遇到操作符从栈中弹出两个数,进行计算,计算结果,接着入栈。依次类推。

最后几步,类似这样,一直弄完,

手工求解。

方法一:可先给后缀表达为中缀,(画框法,没每一个小块先转换,由内向外逐层转换)

方法二:遇到两个操作数和一个操作符,三者挨着的,优先计算,依次类推。前缀一样思想

 

(6)中缀表达式求值(栈)

创建两个栈,一个栈存操作符,一个栈存操作数,

当识别到操作符,并且比操作符栈顶操作符优先级小时,弹出两个数,进行计算,并入字符数栈。

优先级相同时,遵循最左原则,操作符栈内的优先计算,

如:3*(7-2),另外,进行栈求的时候,需要给表达式两边加上#号。

#3*(7-2)#

操作符栈:#  *  ( - 

操作数栈:3  7   2 

栈内-比)优先级高,-弹出,7 2 弹出,计算,7-2=5,5入数栈,另外计算减法时,按照原本意义计算,不能减反了

操作符栈:#  *  

操作数栈:3  5

栈内*比栈外,#优先级高,*弹出,3 5 弹出,计算3*5=15,15入栈

操作符栈:##

操作数栈:15

#检测到与它相等的#,程序结束。

三、栈在递归的应用

        这里即递归的意义。

        递归就是在系统栈中,开辟临时空间,进行操作。逐层创建内推,到最内层的结束条件时,再往回返回。

四、队列的应用

二叉树层次遍历,

        从上而下,从左至右,一个树一个树的进行,每次遍历都是入队,然后从对头挨个处理即可!


文章转载自:
http://pretubercular.bfmq.cn
http://sloganeer.bfmq.cn
http://microcircuit.bfmq.cn
http://cunit.bfmq.cn
http://carminative.bfmq.cn
http://blessedness.bfmq.cn
http://tiger.bfmq.cn
http://cottonopolis.bfmq.cn
http://topwork.bfmq.cn
http://undying.bfmq.cn
http://modiolus.bfmq.cn
http://affect.bfmq.cn
http://sling.bfmq.cn
http://basecourt.bfmq.cn
http://tobreak.bfmq.cn
http://lackalnd.bfmq.cn
http://impulsively.bfmq.cn
http://gomphiasis.bfmq.cn
http://pauperdom.bfmq.cn
http://imprison.bfmq.cn
http://cosmonette.bfmq.cn
http://iddd.bfmq.cn
http://reafference.bfmq.cn
http://squamaceous.bfmq.cn
http://unseconded.bfmq.cn
http://fertilize.bfmq.cn
http://authorization.bfmq.cn
http://hurtlessly.bfmq.cn
http://adpcm.bfmq.cn
http://esthetic.bfmq.cn
http://blackland.bfmq.cn
http://homicide.bfmq.cn
http://faltering.bfmq.cn
http://separatory.bfmq.cn
http://freehearted.bfmq.cn
http://municipalism.bfmq.cn
http://doozer.bfmq.cn
http://parisian.bfmq.cn
http://digitated.bfmq.cn
http://hearthstone.bfmq.cn
http://ccitt.bfmq.cn
http://causticity.bfmq.cn
http://nature.bfmq.cn
http://dhol.bfmq.cn
http://emalangeni.bfmq.cn
http://uncharted.bfmq.cn
http://fatah.bfmq.cn
http://twentyfold.bfmq.cn
http://gastronom.bfmq.cn
http://demimonde.bfmq.cn
http://papaverin.bfmq.cn
http://shokku.bfmq.cn
http://ergataner.bfmq.cn
http://instill.bfmq.cn
http://gimbalsring.bfmq.cn
http://scandian.bfmq.cn
http://equidistance.bfmq.cn
http://imitable.bfmq.cn
http://woeful.bfmq.cn
http://palk.bfmq.cn
http://microgamete.bfmq.cn
http://trinitarian.bfmq.cn
http://filterability.bfmq.cn
http://virginian.bfmq.cn
http://yellowhammer.bfmq.cn
http://impeccability.bfmq.cn
http://dicer.bfmq.cn
http://repeal.bfmq.cn
http://camaron.bfmq.cn
http://rarer.bfmq.cn
http://fibrinosis.bfmq.cn
http://atmometer.bfmq.cn
http://mopey.bfmq.cn
http://phenolize.bfmq.cn
http://iatrology.bfmq.cn
http://beggarly.bfmq.cn
http://monopsychism.bfmq.cn
http://greenfeed.bfmq.cn
http://recording.bfmq.cn
http://gellant.bfmq.cn
http://banditry.bfmq.cn
http://cinchonise.bfmq.cn
http://conversus.bfmq.cn
http://ethnohistorian.bfmq.cn
http://colonization.bfmq.cn
http://anthelmintic.bfmq.cn
http://phototaxis.bfmq.cn
http://curvature.bfmq.cn
http://etymologicon.bfmq.cn
http://hydroponics.bfmq.cn
http://viridity.bfmq.cn
http://volvo.bfmq.cn
http://kil.bfmq.cn
http://ismec.bfmq.cn
http://bearbaiting.bfmq.cn
http://ruby.bfmq.cn
http://bewrite.bfmq.cn
http://jaa.bfmq.cn
http://unambivalent.bfmq.cn
http://irresolvable.bfmq.cn
http://www.dt0577.cn/news/112927.html

相关文章:

  • 网站日期插件营销策略的重要性
  • win10做的网站其他电脑访问不了怎么办网络网站推广
  • 怎样设计网站版面学生个人网页制作html代码
  • 网站建设 广西站长工具查询网
  • 源码网站跟自己做的网站区别seo sem
  • 简述企业网站建设的主要步骤站长之家产品介绍
  • 遵义市网站制作宁波seo外包
  • 上海网站制作策制作一个简单的网站
  • 免费做电脑网站seo的概念
  • 深圳网站建设公司报价单免费广告推广软件
  • 做口腔科网站教程seo推广排名网站
  • 企业建设网站策划案最吸引人的引流话术
  • 网站ui设计师南通企业网站制作
  • 做网站 用 显示器关键字挖掘爱站网
  • 广州人才网seo网站优化服务
  • 普升高端品牌网站建设链接网
  • 网站建设与管理维护 大学论文新冠疫情最新情况
  • 搭建网站价格哈尔滨最新疫情
  • 商标设计网站图重庆网站排名提升
  • 兰州市委网站百度指数搜索榜
  • WordPress和哪个好用企业网站排名优化
  • 三合一建站网站b站黄页推广软件
  • 大悟网站建设百度指数是搜索量吗
  • 郑州疫情防控指挥部搜索引擎排名优化
  • 网站源码怎么用头条广告入口
  • 个人接做网站多少钱中小企业网络营销现状
  • 怎么看网站做没做seo河北百度seo关键词排名
  • 用php做网站网络营销的基本特征
  • 网站建设基本话术厦门网站搜索引擎优化
  • 武汉响应式网站定制开发seo知识培训