supprimer les occurences d'une liste (algorithme)
Forum Programmation : supprimer les occurences d'une liste (algorithme)
actuellement etudiant.
je cherche un algorithme qui supprime les occurences d'un element dans une liste.
mais il y a quelque inconvenient :
- ma fonction n'a qu'un seul parametre :'une liste' et me retourne une liste,
- il n'y a pas de relation d'odre sur les elements de ma liste c-a-d que je peut tres bien avoir en parametre un e liste
(1 a b 2 8 b 1) 'ici le resultat devras etre de la forme (1 a b 2 8)'
- je noit pas utiliser de fonctions auxillaires
merci bcp
on peut savoir de quel langage il s'agit ?
il peut s'agir de n'importe quelle language puisque c'est un algorithme, ca peut etre en Scheme par exemple
en résumé, ce que tu veux faire c'est supprimer les doublons ?
oui mais avc les contraintes expliquer plus haut et de maniere recursive
Tu tries d'abord la liste, ensuite tu identifies facilement les doublons
Code :
|
En caml :
Code :
|
Le code tel quel renvoie la liste "à l'envers" : les premiers éléments à avoir été identifiés comme uniques sont placés en fin de la queue résultat. Comme tu ne sembles pas attacher une grande importance à l'ordre dans ta liste, je laisse tel quel, mais s'il faut changer ça prend deux lignes.
desole mais je ne comprend pas le codde en calm
je connais que le java pascal C et Scheme :-(
Faire de l'algo et pas faire de caml, c'est dommage.
Prend le pseudo-code au dessus alors. Il a juste oublié que si la liste est vide, tu dois renvoyer une liste vide.
Un code qui ressemble au C :
Code :
|
On suppose que tu manipules des listes chainées qui sont des strucs comprenant head, un int, et tail, la suite de la liste chainée (qui vaut NULL si c'est le dernier élément).
J'ai jamais fait de C sérieusement, donc je garantis pas la validité de mon code (surtout au niveau du blablatage pointeurs).
Il y a 2097 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
