林厚从信息学奥赛课课通第7单元第8课 栈的应用课件.ppt
《林厚从信息学奥赛课课通第7单元第8课 栈的应用课件.ppt》由会员分享,可在线阅读,更多相关《林厚从信息学奥赛课课通第7单元第8课 栈的应用课件.ppt(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7单元第单元第8课课 栈的应用栈的应用例例1:括号匹配括号匹配(check,1s,256MB)假设表达式中允许包含两种括号:圆假设表达式中允许包含两种括号:圆括号和方括号括号和方括号,其嵌套的顺序随意其嵌套的顺序随意,即即()或或()等为正确的格式等为正确的格式,(或或()或或()均为不正确的格式均为不正确的格式.本题的任务是检测一本题的任务是检测一个给定表达式中的括号是否正确匹配个给定表达式中的括号是否正确匹配.输输入一个只包含上述括号的字符串入一个只包含上述括号的字符串,判断字判断字符串中的括号是否匹配符串中的括号是否匹配,匹配就输出匹配就输出”OK”,不匹配就输出不匹配就输出”Wro
2、ng”。输入格式:输入格式:一行字符,只含有圆括号和方括号,一行字符,只含有圆括号和方括号,个数小于个数小于255。输出格式:输出格式:匹配就输出一行文本匹配就输出一行文本“OK”,不匹配不匹配就输出一行文本就输出一行文本“Wrong”。输入样例:输入样例:()输出样例:输出样例:Wrong问题分析一个匹配的括号序列,必定是左、右圆括号、一个匹配的括号序列,必定是左、右圆括号、方括号的数量一样多。但是反过来,一样多方括号的数量一样多。但是反过来,一样多不一定是匹配的。不一定是匹配的。定义一个字符型的栈来维护左括号,按顺序定义一个字符型的栈来维护左括号,按顺序处理括号序列:处理括号序列:1)遇到
3、左括号:将它入栈。)遇到左括号:将它入栈。2)遇到右括号:检查栈顶元素与右括号是否)遇到右括号:检查栈顶元素与右括号是否匹配。如果匹配,将栈顶左括号出栈;否则,匹配。如果匹配,将栈顶左括号出栈;否则,判断出序列不匹配,结束。判断出序列不匹配,结束。如果读到了左括号,而栈为空,也不匹配。如果读到了左括号,而栈为空,也不匹配。如果序列处理完毕,栈非空,也不匹配。如果序列处理完毕,栈非空,也不匹配。例例2:表达式求值:表达式求值(NOIP2013普及组复赛普及组复赛,expr,1s,256MB)题目描述题目描述给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。给定一个只包含加法和乘法的算
4、术表达式,请你编程计算表达式的值。输入格式:输入格式:输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符符“+”“+”和乘法运算符和乘法运算符“*”“*”,且没有括号,所有参与运算的数字均为,且没有括号,所有参与运算的数字均为 0 0 到到 231-1 231-1 之间的整数。输入数据保证这一行只有之间的整数。输入数据保证这一行只有 0 9 0 9、+、*这这 12 12 种字符。种字符。输出格式:输出格式:输出只有一行,包含一个整数,表示这个表达式的值。注意:当答案长度输出只有一行,包含一个整数,表示这个表达式的
5、值。注意:当答案长度多于多于 4 4 位时,请只输出最后位时,请只输出最后 4 4 位,前导位,前导 0 0 不输出。不输出。输入输出样例输入输出样例输入样例输入样例1 1:输入样例输入样例2 2:输入输入样例样例3 3:1+1*3+4 1+1234567890*1 1+1*3+4 1+1234567890*1 1+1000000003*11+1000000003*1输出样例输出样例1 1:输出样例输出样例2 2:输出输出样例样例3 3:8 7891 8 7891 4说明说明对于对于 30%30%的数据,的数据,00表达式中加法运算符和乘法运算符的总数表达式中加法运算符和乘法运算符的总数100
6、100;对于对于 80%80%的数据,的数据,00表达式中加法运算符和乘法运算符的总数表达式中加法运算符和乘法运算符的总数10001000;对于对于 100%100%的数据,的数据,00表达式中加法运算符和乘法运算符的总数表达式中加法运算符和乘法运算符的总数100000100000。问题分析问题分析 由于只有加号和乘号,只要从左往右扫一由于只有加号和乘号,只要从左往右扫一遍,如果遇到乘号直接计算(做乘法);如遍,如果遇到乘号直接计算(做乘法);如果遇到加号,若后面没有符号或者后面一个果遇到加号,若后面没有符号或者后面一个符号也是加号,则直接计算(做加法);否符号也是加号,则直接计算(做加法);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 林厚从信息学奥赛课课通第7单元第8课 栈的应用课件 信息学 奥赛课课通第 单元 应用 课件
限制150内