val array = Array((for(i <- 0 to 10) yield scala.util.Random.nextInt): _*)
scala.util.Sorting.quickSort(array)
La matriz "predeterminada" de Scala es una estructura de datos mutable, muy cercana a la matriz de Java. En términos generales, eso significa que una "matriz" no es muy Scala-ish, incluso cuando las estructuras de datos mutables funcionan. Sin embargo, tiene un propósito. Si la matriz es el tipo de datos correcto para sus necesidades, así es como lo clasifica. Hay otros métodos de clasificación en la clasificación de objetos, por cierto.
Creo que me acabo de dar cuenta de cuál es tu pregunta ... no necesitas pasar ningún parámetro implícito (es implícito, después de todo). Ese parámetro existe para decir que debe haber alguna forma de convertir el tipo K en un Ordered [K]. Estas definiciones ya existen para las clases de Scala, por lo que no las necesita.
Para una clase arbitraria, puede definirla de esta manera:
scala> case class Person(name: String)
defined class Person
scala> val array = Array(Person("John"), Person("Mike"), Person("Abe"))
array: Array[Person] = Array(Person(John), Person(Mike), Person(Abe))
scala> scala.util.Sorting.quickSort(array)
<console>:11: error: no implicit argument matching parameter type (Person) => Ordered[Person] was found.
scala.util.Sorting.quickSort(array)
^
scala> class OrderedPerson(val person: Person) extends Ordered[Person] {
| def compare(that: Person) = person.name.compare(that.name)
| }
defined class OrderedPerson
scala> implicit def personToOrdered(p: Person) = new OrderedPerson(p)
personToOrdered: (p: Person)OrderedPerson
scala> scala.util.Sorting.quickSort(array)
scala> array
res8: Array[Person] = Array(Person(Abe), Person(John), Person(Mike))
Ahora, si la Persona fue ordenada para empezar, esto no sería un problema:
scala> case class Person(name: String) extends Ordered[Person] {
| def compare(that: Person) = name.compare(that.name)
| }
defined class Person
scala> val array = Array(Person("John"), Person("Mike"), Person("Abe"))
array: Array[Person] = Array(Person(John), Person(Mike), Person(Abe))
scala> scala.util.Sorting.quickSort(array)
scala> array
res10: Array[Person] = Array(Person(Abe), Person(John), Person(Mike))