摘要: 用栈来求数值表达式。首先来分析表达式由括号、运算符合操作数组成。我们可以根据以下4种情况从左到右逐个将这些实体送入栈处理: 1.将操作数压入操作数栈。 2.将运算符压入运算符栈。 3.忽略左括号 4.在遇到右括号时,弹出一个运算符,弹出所需数量的操作数,并将运算符和操作数的运算结果压入操作数栈。 在 阅读全文
posted @ 2018-07-03 13:51 蔡苗 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 栈是一种基于后进先出的数据结构。实现的栈的方式有数组和链表两种数据结构。下面我们来看看java中的Stack源码解析。 //Stack栈继承了 Vector方法,Vector方法是内部是数组实现的,即java中Stack 也是通过数组实现的。下面我们看看Stack如何通过Vector中的方法实现先进 阅读全文
posted @ 2018-07-03 10:53 蔡苗 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 背包的定义: 背包是一种不支持从中删除元素的集合数据类型--它的目的就是帮助用列收集元素并迭代遍历所有收集到的元素(用列也可以检查背包是否为空或者获取背包中元素的数量)。迭代的顺序不确定且与用例无关。 背包的java代码的实现: package com.learn.bag;import java.u 阅读全文
posted @ 2018-07-03 09:25 蔡苗 阅读(339) 评论(0) 推荐(0) 编辑