You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
537 B
Scala

import scala.math.Ordering.IntOrdering
// Define instantiable integer orderings
class RealIntOrdering extends IntOrdering {}
class ReverseIntOrdering extends Ordering[Int] {
val realIntOrdering = new RealIntOrdering()
def compare(x: Int, y: Int): Int = -realIntOrdering.compare(x, y)
}
// Test stuff
val values = List(1,2,6,3,4)
val ord: Ordering[Int] = new RealIntOrdering()
values.min(cmp = ord)
values.sorted(ord = ord)
val reverseOrd = new ReverseIntOrdering()
values.min(cmp = reverseOrd)
values.sorted(ord = reverseOrd)