数据结构与算法_栈

package chapter05 object test02 { def main(args:Array[String]):Unit={ val stack = new ArrayStack(4) stack.push(1) stack.push(2) stack.push(3) stack.push(4) stack.push(5) stack.list() val res=stack.pop() if(res.isInstanceOf[Exception]) { println(res.asInstanceOf[Exception].getMessage) }else{ println(res) } stack.peek() } } class ArrayStack(maxSize:Int){ val arrs = new Array[Int](maxSize) var top = -1 def isFull():Boolean={ top == maxSize-1 } def isEmpty():Boolean={ top == -1 } def push(num:Int):Unit={ if(isFull()){ println("栈已满,无法插入") return } top += 1 arrs(top) = num } def list():Unit={ if(isEmpty()){ println("栈为空,无法遍历") return } for(i <- 0 to top reverse){ printf("%d %d\n" ,i,arrs(i)) } } def pop():Any={ if(isEmpty()){ return new Exception("栈空") } val res = arrs(top) top -= 1 return res } def peek():Unit={ if(isEmpty()){ println("栈已空,无法取出") } println(arrs(top)) } }
posted on 2020-08-27 16:29 happygril3 阅读(107) 评论(0) 收藏 举报
浙公网安备 33010602011771号