Exercice 7.2 - Méthode 1: tri par insertion 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

index, nextIndex, posMin, temp des NUMERIQUES
values un TABLEAU

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

    POUR index 0 à 8
        posMin = index
        
        POUR nextIndex (index + 1) à 100
            SI (values[nextIndex] > values[posMin])
                posMin = nextIndex
            FIN SI
        nextIndex SUIVANT

        temp = values[posMin]
        values[posMin] = values[index]
        values[index] = temp
    FINPOUR
FIN

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"];

    for (let index = 0; index < values.length; index++)
    {
        // index is temp the minest index
        // for every lap.
        let posMin = index;
    
        for (let nextIndex = index + 1; nextIndex < values.length; nextIndex++)
        {
            // If (value + 1) > current
            if (values[nextIndex] > values[posMin]) {
                posMin = nextIndex;
            }
        }
    
        // Swap positions
        let temp = values[posMin];
        values[posMin] = values[index];
        values[index] = temp;
    }

    output.innerHTML = "[JS]: " + values;
}
// Already defined inside javascript.js
// let loopLap = 0;
// let 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"];

    for (let index = 0; index < values.length; index++)
    {
        // index is temp the minest index
        // for every lap.
        let posMin = index;
    
        for (let nextIndex = index + 1; nextIndex < values.length; nextIndex++)
        {
            // If (value + 1) > current
            if (values[nextIndex] > values[posMin]) {
                posMin = nextIndex;
            }
        }
    
        // Swap positions
        let temp = values[posMin];
        values[posMin] = values[index];
        values[index] = temp;
    }

    $output.html("[jQuery]: " + values);
}
<?php

$values = [1, 2, 3, 4, 5, 6, "a", "b", "c"];
$length = count($values);

for ($index=0; $index < $length; $index++) { 
    $posMin = $index;

    for ($nextIndex = $index + 1; $nextIndex < $length; $nextIndex++) { 
        if ($values[$nextIndex] > $values[$posMin]) {
            $posMin = $nextIndex;
        }
    }

    $temp = $values[$posMin];
    $values[$posMin] = $values[$index];
    $values[$index] = $temp;
}

var_dump($values);

Choisissez un language:

Entrez les valeurs nécessaires:

Résultat du code

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