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;
}
}
}
}