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
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)
|