30

voila un tri par insertion que j'ai fait pour classer des tableaux de chaines de caractères :
char **tab

void Str_Insertion(char **tab, int taille)
{
int i = 1, j, k;
char *temp;
while (i < taille)
{
j = i - 1;
if (strCmp(tab[j], tab[i]) < 0)
{
temp = (char *) tab[i];
while (j >= 0 && strCmp(tab[j], temp) < 0) tab[j+1] = (char *) tab[j--];
tab[j+1] = (char *) temp;
}
else i++;
}
}

mais bon ce genre de fonction est adaptable aux tri de n'importe quoi tant qu'on lui apporte une fonction qui compare deux elements.
en l'occurence ici :

int strCmp(char *str1, char *str2)
{
int i = 0;
while (str1[i] == str2[i] && str1[i] != 0 && str2[i] != 0) i++;
return (str2[i] - str1[i]);
}

pour classer des nombre dans l'odre decroissant :

int strCmp(int a, int b)
{
return a-b; // ou b-a j'ai pas réfléchi
}

et ainsi de suite.....

31

Il y a toujours l'optimisation suivante pour trier des données emcombrantes :
-Utilisation d'un tableau (ou listes chaînée) de pointeur sur vos données,
-Trier ce tableau de pointeur, Tri au choix.
-Accéder aux données par ce tableau.

Et au niveau encombrement/gestion de la RAM, cette méthode dispense de la copie/transfert inutile des données triées.
Amicalement.

Le portail Communautaire : http://www.portail.org
LE site de calculatrice TI : http://www.alvasoft.net

32

le tri par insertion est un tri de base (tout comme le tri à bulle ou le tri par extraction).
Ce n'est pas un tri à implémenter car trop lent.

allez voir là :
http://lwh.free.fr/pages/algo/tri/tri.htm
on peut tester des algos sur la page web.

33

Omicron >> c'est bien ca qui est fait et heuresement, vu que c'est un tableau d'objets en java, le tableau ne contient que les pointeurs qui pointent vers les objets, et ils ne sont que changés de place dans le tableau wink

34

jcop a écrit :
le tri par insertion est un tri de base (tout comme le tri à bulle ou le tri par extraction).
Ce n'est pas un tri à implémenter car trop lent.

allez voir là :
http://lwh.free.fr/pages/algo/tri/tri.htm on peut tester des algos sur la page web.

Attention, ce qu'ils donnent comme "pire des cas" et "meilleur des cas" dans les animations illustrant les algorithmes n'est pas ajusté en fonction de l'algorithme et est souvent faux.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité