数据结构
RushmcRunRunRun
这个作者很懒,什么都没留下…
展开
-
栈
栈 栈实现中缀表达式综合计算器 /** * @author:zmc * @function: * @date: 2020/10/6 19:36 */ public class ArrayStack { public static void main(String[] args) { String expression = "13-9/3+4"; Stack numStack = new Stack(10); Stack operStack .原创 2020-10-11 18:18:37 · 102 阅读 · 1 评论 -
稀疏数组
稀疏数组 当一个数组中大部分元素都为同一个值,可以使用稀疏数组来保存该数组。(以时间换空间的做法) 稀疏数组 记录该数组一共有几行几列,有多少个不同的值 把具有不同值的元素的行列以及值记录在一个小规模的数组中,从而缩小数组所占的内存空间 使用稀疏数组之后从一个6*7=42的数组变为9*3=27的数组 建立稀疏数组的步骤 遍历原始数组,得到有效数据的个数sum 根据sum创建稀疏数组sparseArr int[sum+1][3] 将二维数组的有效数据存储入稀疏数组 稀疏数组转换成原始二维数组的步骤原创 2020-10-04 14:58:00 · 82 阅读 · 1 评论 -
队列
队列 队列是一个有序列表,可以用数组或链表来实现 遵循先进先出的原则 数组模拟队列 front指向队列头的前一个位置,rear指向队列尾的,front会随着数据输出而改变,rear指向 初始化时rear和front都是-1 当取出数据front上移而rear不动 当front == rear(-1) 队列为空 当rear == maxSize - 1 队列满 普通队列代码 /** * @author:zmc * @function: * @date: 2020/10/2 18:20.原创 2020-10-04 14:57:03 · 91 阅读 · 0 评论 -
线性表与非线性表
原创 2020-10-04 14:55:33 · 1744 阅读 · 0 评论 -
链表
链表 链表是以节点的方式来存储的 每个节点包含data域,next域 链表各个节点不一定是连续存储 链表分带头节点的和不带头节点的 头节点:不存放具体的数据,作用是表示单链表头 判断链表是否为空:判断头节点.next是否为空即可 在Java中,删除链表的某个节点,该节点即不被使用,会被垃圾回收机制回收。 单向链表 代码 import java.util.Stack; /** * @author:zmc * @function: * @date: 2020/10/3 10:46 */ pub.原创 2020-10-04 14:50:01 · 162 阅读 · 0 评论