nyoj_257 郁闷的c小加

来源:互联网 发布:淘宝的宝贝描述分数 编辑:程序博客网 时间:2024/05/01 06:02

链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=257

思路:

1.用栈作为数据结构,把输入的数据放入栈中,或者直接输入一个字符操作一个字符,也就是把输入的字符串顺序的扫描一遍;

2。输入的字符扫描一遍:

(1)。.如果扫描到的的是操作数(比如0-9),那么直接输出;

(2)。如果是扫描到的字符是“(”,那么直接放入栈中,不进行其它操作;

(3)。如果扫描到的字符是“)”,那么不用管扫描到的“)”,而是对栈进行操作:把栈中“(”之前的运算符全部出栈,并输出来;再把“(“出栈,不输出。

(4)。如果扫描的字符是操作符(-+*/等):

a.如果扫描到的字符的优先级比栈顶元素的优先级高,那么直接入栈,不输出;

b.如果扫描到的字符的优先级与栈顶元素的优先级相等,那么,先输出栈顶元素并出栈;再将刚扫描到的元素入栈但不输出;

c.如果扫描到的字符的优先级比栈顶元素的优先级低,那么一直出栈并且输出,直到栈顶元素的优先级比刚扫描的字符的优先级低(不能相等)为止,最后将刚扫描到字符入栈但不输出


原创粉丝点击