Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Queue[+T] {
- var queue : (List[T],List[T])
- def empty = {
- queue = (Nil,Nil)
- }
- def enqueue(element : T,queue : Queue[T]) = {
- queue.queue match{
- case (Nil,Nil) => (element,Nil)
- case (l1,l2) => (l1,element::l2)
- }
- }
- def dequeue = {
- queue match{
- case (_,Nil) => this
- case (_,l2) => (l2.reverse,Nil)
- case (_::t,l2) => (t,l2)
- case (Nil,Nil) => (Nil,Nil)
- }
- }
- def first = {
- queue match{
- case (Nil,Nil) => throw new Exception("Queue is empty")
- case (h::_,_) => h
- }
- }
- def isEmpty = {
- queue.equals((Nil,Nil))
- }
- }
- var pointQueue = new Queue[Point]
- var pixelQueue = new Queue[Pixel]
- pointQueue = pixelQueue
- class Point (var x:Double = 0.0, var y:Double = 0.0) {
- override def toString = "[" + x + ", " + y + "]"
- }
- import java.awt.Color
- class Pixel(xp:Double=0.0,yp:Double=0.0,var color:Color = Color.BLACK) extends Point(xp, yp) {
- override def toString = super.toString + " " + color
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement