Saurez-vous trier aussi bien que V8 ? - Solution

On se retrouve aujourd'hui pour la solution du précédent #KataOfTheWeek proposé par Jonathan en début de semaine !

Voici une solution en kotlin :

fun <T : Comparable<T>> quicksort(array: List<T>): List<T> {
    if (array.isEmpty()) return emptyList()
    val pivot = array.last()
    val smallerValues = mutableListOf<T>()
    val equalValues = mutableListOf<T>()
    val biggerValues = mutableListOf<T>()
    array.forEach {
        when {
            it == pivot -> equalValues.add(it)
            it < pivot -> smallerValues.add(it)
            it > pivot -> biggerValues.add(it)
        }
    }
    return quicksort(smallerValues) + equalValues + quicksort(biggerValues)
}

A bientôt pour un nouveau #KataOfTheWeek !

TakiVeille

TakiVeille