Sorting in Scala
Our example demonstrates sorting in Scala. We’ll look at sorting for built-in types first.
import scala.collection.mutable.ArrayBuffer
object Sorting {
  def main(args: Array[String]): Unit = {
    // Sorting functions work for any type that has an implicit Ordering.
    // For a list of types with default Orderings, see scala.math.Ordering.
    val strs = ArrayBuffer("c", "a", "b")
    scala.util.Sorting.quickSort(strs)
    println(s"Strings: ${strs.mkString("[", ", ", "]")}")
    // An example of sorting integers.
    val ints = ArrayBuffer(7, 2, 4)
    scala.util.Sorting.quickSort(ints)
    println(s"Ints:    ${ints.mkString("[", ", ", "]")}")
    // We can also check if a sequence is already in sorted order.
    val s = ints.sliding(2).forall { case Seq(a, b) => a <= b }
    println(s"Sorted:  $s")
  }
}To run the program, save it as Sorting.scala and use scala:
$ scala Sorting.scala
Strings: [a, b, c]
Ints:    [2, 4, 7]
Sorted:  trueIn this Scala example:
- We use - ArrayBufferas a mutable sequence, which is similar to slices in other languages.
- The - scala.util.Sorting.quickSortmethod is used to sort the sequences in-place.
- To check if a sequence is sorted, we use the - slidingmethod to compare adjacent pairs.
- Scala’s string interpolation ( - s"...") is used for formatting output strings.
- The - mkStringmethod is used to convert sequences to strings for printing.
Note that Scala provides powerful sorting capabilities through its collections library, including methods like sorted and sortWith for immutable collections, which weren’t showcased in this basic example.