package
{
import flash.display.Sprite;

/**
* ...
* @author rg
*/
public class Main extends Sprite
{
private var tabNombres : Array = new Array(5,3,1,2,6,4);

public function Main():void
{
trace(tabNombres); //tableau non trié
tri_selection(tabNombres);
trace(tabNombres); //tableau non trié

}

private function tri_selection(tab : Array) : void
    {
        var longueur, maxi, i : int;
        longueur = tab.length;

        while(longueur>0) {
            //recherche de la position du plus grand élément dans le tableau non encore trié
            maxi=0;

            for (i = 1; i < longueur; i++)

                if(tab[i]>tab[maxi]) 
                    maxi = i;
                
             }

            //echange du plus grand élément avec le dernier
            //echanger(T,maxi,longueur-1)
var memo : int = tab[longueur -1];
tab[longueur - 1] = tab[maxi];
tab[maxi] = memo;

            //traitement du reste du tableau
            longueur = longueur - 1;

}
         }
}


}

 

Affichages : 5181