TANT QUE le tableau contient des éléments trouve la valeur maximale cherche la position de l'élément trouvé ajouter l'élément au début du tableau trié, l'ordre croissante ajouter l'élément à la fin du tableau trié - l'ordre décroissante suppression d'élément trouvé avec splice - condition d'arrêt de la boucle réinitialiser la position réinitialiser la valeur $max avec le 1er élément du tableau diminué avec splice FIN TANT QUE
#!/usr/bin/perl
use strict;use warnings;
my @tab = qw/9 3 7 14 8 7 25 12 1 6/;
my ($n,$max,@tri,@tri_desc);
$max = $tab[0];
print "@tab\n";
while(@tab){
$_ > $max and $max = $_ for @tab;
for (@tab){ $n++;last if $max == $_}
unshift @tri,$max;
push @tri_desc,$max;
splice(@tab,$n-1,1);
$n=0;
$max = $tab[0];
}
print "ordre croissante:\t@tri\n";
print "ordre decroissante:\t@tri_desc\n";
__END__
lami20j@debian:~# perl ccm.pl 9 3 7 14 8 7 25 12 1 6 ordre croissante: 1 3 6 7 7 8 9 12 14 25 ordre decroissante: 25 14 12 9 8 7 7 6 3 1--
Résultats pour Trier un tableau sans utiliser la fonction sort
Résultats pour Trier un tableau sans utiliser la fonction sort
Résultats pour Trier un tableau sans utiliser la fonction sort
Résultats pour Trier un tableau sans utiliser la fonction sort
Résultats pour Trier un tableau sans utiliser la fonction sort