Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.08 KB | None | 0 0
  1. class Queue[+T] {
  2.    
  3.     var queue : (List[T],List[T])
  4.    
  5.     def empty = {
  6.       queue = (Nil,Nil)
  7.     }
  8.    
  9.     def enqueue(element : T,queue : Queue[T]) = {
  10.       queue.queue match{
  11.         case (Nil,Nil) => (element,Nil)
  12.         case (l1,l2) => (l1,element::l2)
  13.       }
  14.     }
  15.    
  16.     def dequeue = {
  17.       queue match{
  18.         case (_,Nil) => this
  19.         case (_,l2) => (l2.reverse,Nil)
  20.         case (_::t,l2) => (t,l2)
  21.         case (Nil,Nil) => (Nil,Nil)
  22.       }
  23.     }
  24.     def first = {
  25.       queue match{
  26.         case (Nil,Nil) => throw new Exception("Queue is empty")
  27.         case (h::_,_) => h
  28.       }
  29.     }
  30.     def isEmpty = {
  31.       queue.equals((Nil,Nil))
  32.     }
  33. }
  34.  
  35. var pointQueue = new Queue[Point]
  36. var pixelQueue = new Queue[Pixel]
  37.  
  38. pointQueue = pixelQueue
  39.  
  40.  
  41.  
  42. class Point (var x:Double = 0.0, var y:Double = 0.0) {
  43. override def toString = "[" + x + ", " + y + "]"
  44. }
  45.  
  46. import java.awt.Color
  47.  
  48. class Pixel(xp:Double=0.0,yp:Double=0.0,var color:Color = Color.BLACK) extends Point(xp, yp) {
  49. override def toString = super.toString + " " + color
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement