Exercice 7.2 - Méthode 2: tri à bulles Terminé

Consigne

Ecrivez un algorithme qui trie un tableau dans l’ordre décroissant.
Vous écrirez bien entendu deux versions de cet algorithme, l'une employant le tri par insertion, l'autre le tri à bulles.

Pseudo code

yapermute un BOOLEEN
values un TABLEAU
index, temp des NUMERIQUES

DEBUT

    values = [1, 2, 3, 4, 5, 6, "a", "b", "c"]
    yapermute = TRUE

    TANT QUE (yapermute)

        yapermute = FALSE

        POUR index 0 à 8
            SI (values[index] < values[index + 1]) ALORS
                temp = values[index]
                values[index] = values[index + 1]
                values[index + 1] = temp

                yapermute = TRUE
            FIN SI
        FIN POUR
    FIN TANT QUE
FIN

Réponse

Voir cours page 43:
Tri de tableau + flag = tri à bulles

Conversion

function javascript() {
    let output = document.querySelector('.response-displayer > .codeblock > pre#javascript');
        output.classList.add('show');
    
    let values = [1, 2, 3, 4, 5, 6, "a", "b", "c"];
    let yapermute = true;

    while (yapermute) {
        yapermute = false;

        for (let index = 0; index < values.length; index++)
        {
            if (values[index] < values[index + 1])
            {
                let temp = values[index];
                values[index] = values[index + 1];
                values[index + 1] = temp;
                yapermute = true;
            }
        }
    } 

    output.innerHTML = values;
}
function jquery() {
    $('.response-displayer > .codeblock > pre').removeClass('show')
    let $output = $('.response-displayer > .codeblock > pre#jquery').addClass('show')

    let values = [1, 2, 3, 4, 5, 6, "a", "b", "c"];
    let yapermute = true;
    
    while (yapermute) {
        yapermute = false;

        for (let index = 0; index < values.length; index++) {
            if (values[index] < values[index + 1]) {
                let temp = values[index];
                values[index] = values[index + 1];
                values[index + 1] = temp;
                yapermute = true;
            }
        }
    }

    $output.html(values);
}
<?php

$values = [1, 2, 3, 4, 5, 6, "a", "b", "c"];
$yapermute = true;

while ($yapermute) {
    $yapermute = FALSE;

    foreach ($values as $index => $currValue) {
        if ($currValue < $values[$index + 1]) {
            $temp = $currValue;
            $currValue = $values[$index + 1];
            $values[$index + 1] = $temp;

            $yapermute = TRUE;
        }
    }
}

Choisissez un language:

Entrez les valeurs nécessaires:

Résultat du code

Le résultat s'affichera après l'exécution du code.