DataStructures in Scala
I have started populating the DataStructure Space in the Scala section.
The first entrant is a simple Stack class implemented using some interesting features of Scala Language.
Java , C++ and C# programmers can analyze the following Scala code, written for implementing a simple bounded stack. Try to figure out interesting Scala language properties.
Simple Stack
Output
Copyright ©Rajesh Patkar, All rights reserved.
The first entrant is a simple Stack class implemented using some interesting features of Scala Language.
Java , C++ and C# programmers can analyze the following Scala code, written for implementing a simple bounded stack. Try to figure out interesting Scala language properties.
Simple Stack
package datastructuresinscalastack
object Main { def main(args: Array[String]): Unit = { println("Welcome to Simple Stack"); var s1 = new Stack(10) val v = (1::2::3::s1).!.pop println("Popped Value is "+ v) s1 ! }}class Stack(v:Int){ var stk = new Array[Int](v) var sp = v def ::(v:Int) = { if(sp!=0){sp-=1;stk(sp)= v} else println("Overflow") ; this} def pop = if(sp!=v) {sp = sp + 1; stk(sp-1)} else {println("underflow"); -1} def ! = { println("Printing Stack"); for( i <- sp to stk.length-1) println(stk(i)) ; this }}Output
Welcome to Simple Stack
Printing Stack
1
2
3
Popped Value is 1
Printing Stack
2
3
Copyright ©Rajesh Patkar, All rights reserved.
Comments