数据结构与算法
sun_0128
这个作者很懒,什么都没留下…
展开
-
二叉树的前序中序后序遍历
package datastructure.treeclass Node[A] { private var _data: A = _ def data: A = _data def data_=(value: A): Unit = { _data = value } private var _left: Node[A] = _ def left: Node[A] = _left def left_=(value: Node[A]): Unit = {原创 2021-06-30 21:08:03 · 262 阅读 · 0 评论 -
前缀表达式转后缀表达式-->逆波兰计算器
package datastructure.stackimport scala.collection.mutableimport scala.collection.mutable.ArrayBufferobject PolandNotation { def main(args: Array[String]): Unit = { val exp_ = "10+((20+30)*40)-50" val expArr = toInfixArr(exp_) println("前原创 2021-06-23 23:32:57 · 511 阅读 · 0 评论 -
scala使用数组模拟栈,使用栈模拟计算器运算
package datastructure.stackimport java.util.Scannerimport scala.reflect.ClassTag/** * 使用数组模拟栈 */class ArrayStack[T: ClassTag]() { private var maxSize: Int = _ private var top: Int = -1 //栈顶 private var stack: Array[T] = _ //数组模拟栈存放数据 def t原创 2021-06-20 20:02:43 · 182 阅读 · 0 评论 -
java单向环形链表解决约瑟夫环问题
package datastructure.linkedListimport scala.util.control.Breaksclass Boy(private var no: Int ){ def getNo: Int = this.no def setNo(no: Int): Unit = { this.no=no } //next域 private var next : Boy = _ def getNext: Boy = this.next def se原创 2021-06-20 11:37:03 · 156 阅读 · 0 评论 -
java双向链表
package datastructure.linkedListimport scala.util.control.Breaksclass DoubleLinkedList { //先初始化一个头节点 private val head = new HeroNode2(0,"","") /** * 展示双向链表 */ def show(): Unit = { if(head.next == null){ println("链表为空") ret原创 2021-06-20 10:36:06 · 104 阅读 · 0 评论 -
java单向链表
package datastructure.linkedListimport scala.util.control.Breaksclass HeroNode{ var no: Int = _ var name: String = _ var nickName: String = _ var next: HeroNode = _ //指向下一个结点 def this(hNo: Int, name: String,nick: String) = { this() th原创 2021-06-19 20:43:07 · 155 阅读 · 0 评论 -
数组模拟环形队列
package datastructure.queueimport java.util.Scannerimport scala.reflect.ClassTagclass ArrayQueue[T: ClassTag] extends java.io.Serializable with java.lang.Cloneable { private var maxSize: Int = _ //队列最大容量 //front 变量的含义做一个调整: front 就指向队列的第一个元素, 也就原创 2021-06-19 18:07:26 · 129 阅读 · 0 评论 -
二维数组和稀疏数组之间的转换
object SparseArray { def getSparseArray(arr: Array[Array[Int]]): Array[Array[Int]] = { //将二维数组转换成稀疏数组 //1.遍历二维数组得到非零的数的和 var sum = 0 for (elem <- arr) { for (e <- elem) { if(e != 0) sum+=1 } } //2.创建对应的原创 2021-06-19 12:27:41 · 160 阅读 · 0 评论