摘要: 逆波兰式计算器 1) 输入一个逆波兰表达式(后缀表达式),使用栈(Stack), 计算其结果2) 支持小括号和多位数整数,只支持对整数的计算。 思路分析: 从左至右扫描表达式, 遇到数字时,将数字压入堆栈, 遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(次顶元素 和 栈顶元素),并将结 阅读全文
posted @ 2020-10-16 14:55 白刃天使 阅读(779) 评论(0) 推荐(0) 编辑
摘要: 思路分析: 1) 初始化两个栈:运算符栈s1和储存中间结果的栈s2(s2实际可用ArrayList);2) 从左至右扫描中缀表达式;3) 遇到操作数时,将其压s2;4) 遇到运算符时,比较其与s1栈顶运算符的优先级: (1)如果 s1 为空,或栈顶运算符为左括号“(”,则直接将此运算符入栈;(2)否 阅读全文
posted @ 2020-10-16 11:20 白刃天使 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 前缀表达式(波兰表达式) 1)前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前 2)举例说明: (3+4)×5-6 对应的前缀表达式就是 - × + 3 4 5 6 前缀表达式的计算机求值 从右至左扫描表达式,遇到数字时,将数字压入堆栈, 遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的 阅读全文
posted @ 2020-10-16 10:56 白刃天使 阅读(662) 评论(0) 推荐(0) 编辑
摘要: 栈的介绍 栈的英文为:Stack 栈是一个先入后出(FILO-First In Last Out)的有序列表。 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一 种特殊线性表。允许插入和删除的 一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Botto 阅读全文
posted @ 2020-10-16 10:35 白刃天使 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 设编号为 1,2,… n 的 n 个人围坐一圈,约定编号为 k(1<=k<=n)的人从 1 开始报数,数到 m 的那个人出列,它的下一位又从 1 开始报数,数到 m 的那个人又出列,依次类推,直到所有人出列为止,由 此产生一个出队编号的序列。 解决方案: 用一个不带头结点的循环链表来处理 阅读全文
posted @ 2020-10-16 10:12 白刃天使 阅读(250) 评论(0) 推荐(0) 编辑