Fonction compter interprete

jojo72zerzerzer -  
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,
Pour un projet, je dois implémenter en c (liste chainées) une bibliothèque contenant des albums décris par le titre de l'album, son interprète, son label, sa date de sortie et le style de musique.

Afin de créer ma bibliothèque, il m'est demandé de créer une fonction qui compte le nombre d'interprètes dans toute la bibliothèque, aka ma fonction doit compter tous les maillons de la liste, et lorsque qu'un interprète apparaît dans plusieurs nœuds différents, on ne le compte qu'une seule fois.
=> Comment savoir si un interprète quelconque apparaît plusieurs fois dans ma bibliothèque ?
A voir également:

2 réponses

Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Salut,

Si tu déclare une structure d’interprète, tu peux déclarer une variable qui sera mise à "true" si il a déjà été vu.
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Pierre.. pas compris.

Si tu mets ta struct dans la liste chaînée d'albums, tu la perd de vue quand tu passes aux suivantes... non ?
0
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut jojo72zerzerzer,

Je vois deux solutions pour résoudre ton problème :

Créer une autre structure de données où tu stockes les interprètes à mesure que tu parcours ta liste chaînée s'ils n'ont pas déjà été stockés (voire une table de hachage pour éviter d'avoir à tout reparcourir à chaque vérification). Avec l'inconvénient de devoir allouer de la mémoire pour cette structure de données.

Ou, si ta liste chaînée est triée selon les interprètes, tu parcours simplement la liste, en ignorant les entrées consécutives identiques. Avec inconvénient qu'il faut la trier au préalable.


Dal
0