Voici le problème.Implémentation de la liste chaînée avec l'interface de l'itérateur
Ecrivez une fonction pour fusionner plusieurs listes chaînées (triées) en une liste chaînée triée. Cette fonction doit accéder aux éléments via l'interface Iterator (n'accédez pas directement aux éléments via la liste chaînée). Les arguments de la procédure de fusion sont un tableau de Iterators et la taille du tableau. La valeur de retour doit être un autre Iterator avec une implémentation de liste sous-jacente .
Étapes:
(1) Mettre en œuvre la liste liée à l'interface iterator. Définir l'élément dans la liste ci-dessous:
typedef struct
{
int idno;
char name[25];
float marks;
} Element;
(a) Liste CreateList(); (B) Insert de liste (liste L, élément e);
(c) liste vide d'impression (liste L); (D) itérateur initIterator (liste L);
(e) booléen hasMoreElements (itérateur I);
(f) itérateur moveNext (itérateur I);
(2) Fonction de fusion de l'outil.
iterator merge(iterator I[],int size)
Cette fonction fusionnera les éléments dans toutes les listes ordonnées par l'attribut « marques ». La fonction de fusion doit accéder à la liste via les fonctions de l'itérateur.
(3) Fonction de pilote d'outil.
Remplir les listes à partir des fichiers d'entrée (fournis en tant que support). Appelez la fonction de fusion et stockez les données dans la liste fusionnée résultante dans un fichier de sortie.
fichiers de support: Test1.TXT, Test2.txt, test3.txt, test4.txt, test5.txt, test6.txt, test7.txt, test8.txt
Livrables: dataDef.h, mergeOps. c, mergeOps.h, main.c, output.txt
Maintenant, je ne veux pas la solution pour cela, mais je veux savoir ce qu'est une interface d'itérateur. Je n'en ai jamais entendu parler auparavant.
Et comment puis-je procéder à l'implémentation de la liste chaînée avec l'interface d'itérateur. Qu'est-ce que cela signifie?
En outre, il utilise un type de données de iterator
ce que ce serait?
Erm, êtes-vous * sûr * que vous parlez de 'c'? –
@Brian Roach je suis à peu près .. je peux poster le reste de la question aussi .. – Kraken
'Iterator' est une structure personnalisée, vous pouvez jeter un oeil à l'équivalent C++ sur MSDN - [itérateur Struct] (http://msdn.microsoft.com/en-us/library/x9be4t1b.aspx). –