Yop là
Glop glop,
J'suis confronté à un problème assez chiant mais pas extrêment handicapant.
J'avais fait, y a assez longtemps, une fonction qui supprime les doublons d'une liste.
auche, droite)->l
EndIf
EndFor:EndFor
l->main/lout
ENdPrgm
J'vous file le pseudo-code, me souviens pas exactement de tout
ndbl(l)
Prgm
TriCroi l
For x,1,dim(l)
l[x]->a
0->n
For y,x+1,dim(l)
l[y]->b
If a=b: n+1->n
If a!=b Then
© On coupe la liste en deux :
//SI j'ai {1,5,2,3,1} en argument
//J'aurais {1,1,2,3,5} après TriCroi (SortA)
//Puis je couperais en prenant {1 et ,2,3,5}
//Et je collerais les morceaux que je foutrais dans la liste.
//En gros : augmente(g
En bref, ça utilise TriCroi pour ne pas devoir relire depuis le début de la liste à chaque itération de for.
Le problème, c'est que vu que j'utilise TriCroi, je peux pas faire un
Func:...:EndFunc. Du coup je suis obligé d'appliquer une récursivité en appelant la fonction et en lui donnant la liste en argument.
Le problème, c'est :
- Comment faire une récursivité en TiBASIC ?
- Comment savoir
quand la liste n'a plus aucun argument en doublon ?
Le code c'est du de mémoire (et c'est l'idée très générale), j'essayerai de vous retrouver ça.
Merci d'votre aide et des infos éventuelles
