val array = Array((for(i <- 0 to 10) yield scala.util.Random.nextInt): _*)
scala.util.Sorting.quickSort(array)
Le tableau "par défaut" de Scala est une structure de données mutable, très proche du tableau de Java. D'une manière générale, cela signifie qu'un "tableau" n'est pas très Scala, même s'il s'agit de structures de données mutables. Il sert cependant un objectif. Si le tableau est le type de données qui convient à votre besoin, c'est ainsi que vous le triez. Il existe d'autres méthodes de tri sur le tri des objets, d'ailleurs.
Je pense que je viens de comprendre la nature de votre question... vous n'avez pas besoin de passer un paramètre implicite (c'est implicite, après tout). Ce paramètre existe pour dire qu'il doit y avoir un moyen de convertir le type K en un Ordered[K]. Ces définitions existent déjà pour les classes de Scala, donc vous n'en avez pas besoin.
Pour une classe arbitraire, vous pouvez la définir de cette façon :
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))
Maintenant, si la personne était ordonnée au départ, ce ne serait pas un problème :
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))