ZephLe 04/05/2009 à 12:21
je ne suis pas sûr de comprendre ce qu'est censé faire ton algo... construire une liste "o" qui contient tous les doublons ? pas super utile, l'objectif est de réduire les occurrences multiples, pas d'en faire la liste (et je suppose que "l[y]->l" est une erreur de copier/coller et que c'est en fait "l[y]->v2" ?)
si tu veux conserver une solution comme celle-ci (c'est pas super efficace mais ça peut fonctionner quand même), il faut que tu remplaces ton "augmente" par une instruction qui efface l'élément de la liste (au lieu de construire une deuxième liste qui ne sert à rien).
quelques conseils en vrac :
- passe ta calculatrice en anglais
- ne mets jamais "dim(l)" comme borne supérieure de ton "for", ça va calculer la taille de la liste à chaque tour de boucle (très lent)
- pour ajouter un élément en fin de liste (même si là tu n'en auras pas besoin), faire "i->l[dim(l) + 1]" est plus rapide qu'appeler "augment"
- parcourir ta liste en partant de la fin t'évitera d'avoir à mettre à jour une variable contenant sa taille chaque fois qu'elle change (i.e chaque fois que tu supprimes un élément)