2016-12-07 3 views
0

Vous allez d'abord créer une interface pour gérer les éléments de chaîne. Fondamentalement, vous devrez effectuer les opérations suivantes:Quelqu'un peut-il expliquer cette invite pour un programme?

Créer une interface nommée item.h Définir un élément de type représente char * (par exemple un c-chaîne) Mettre en oeuvre une fonction qui compare moins entre deux cordes et retour lequel

doit précéder. Ensuite, vous allez ajouter à l'interface de liste liée les fonctions suivantes: linkedlistScanInit: L'en-tête de la fonction sera linkedlistScaninit (liste pLinkedList). La fonction prend une liste liée en entrée, lit à partir de la ligne de commande un ensemble de chaînes et les stocke dans la liste liée. Vous pouvez appeler la fonction linkedlistAddNode pour ajouter un noeud à la fin de la liste liée. linkedlistShow: L'en-tête de la fonction sera linkedlistShow (liste pLinkedList). La fonction prend une chaînée en entrée , des boucles à travers la liste chaînée et montrer ce que l'intérieur

Enfin, vous allez créer un principal, votre principal sera comme suit:

}

Vous utiliserez le code linkedListSt.h et linkedListSt.c

désolé son désordre son d'un pdf et je ne semble pas être en mesure de le régler sans déconner, il encore plus.

On me demande donc de trier fondamentalement les chaînes dans la méthode de tri par sélection sur une liste chaînée. Ma question ici n'est pas spécifique au code, mais qu'est-ce que signifie "moins de fonctions pour comparer deux chaînes". cela signifie-t-il seulement besoin de la déclaration? cela retournerait-il un pointeur de chaîne ou un pointeur de pointeur de chaîne? Aussi, j'ai de la difficulté à comprendre le sens de linkedlistScanInit?

Je ne sais pas exactement quelle est la question ici. il ne me demande pas de trier la liste réelle ou du moins c'est ma mauvaise compréhension de celui-ci.

+0

Je suppose que vous êtes invité à trier dans l'ordre lexical. Lorsque vous comparez les chaînes jusqu'à ce que vous trouviez le premier caractère qui diffère entre les deux, puis en fonction des valeurs ASCII normales pour les caractères différents, renvoyez le plus petit à trier en premier (par exemple '' abat "' trie avant '" acat "' parce que la valeur de '' b '' est * moins que * la valeur de '' c '') –

+0

oui j'ai déjà une fonction écrite qui fait cela mais le programme ne me demande pas de créer une sorte de structure de données pour contenir les chaînes. – Hsquared

+0

Généralement, lorsque vous pensez à votre fonction de tri, 'mycmp (const char * s1, const char * s2)', * less * signifie que 's1' trie avant (est moins) que' s2', (par exemple 's1 < s2') et 'mycmp' renvoie' -1', si les chaînes sont * égales * il renvoie '0', si' s1> s2', retourne '1' (tout comme' strcmp() '). –

Répondre

0

J'imagine qu'ils signifient une fonction qui compare la chaîne de deux chaînes la plus petite de l'autre, par ordre alphabétique.

La déclaration de fonction pourrait ressembler à ceci:

int lessThan(char *a, char *b); 

qui renvoie 1 si un est moindre que b, et 0 sinon je vais laisser la mise en œuvre jusqu'à vous.

Bonne chance

+0

c'est assez simple.aucune idée comment \t fonction linkedlistScanInit est censé être sur? encore mauvaise formulation par mon professeur ou celui qui a écrit cela mais me demandent-ils de trier la liste que je l'insère en utilisant la fonction ci-dessus ?. – Hsquared

+0

Vous devez lire les lignes à partir de l'invite de commande et les stocker dans la liste liée. – Henningsson

+0

Je reçois cette partie. Toutes mes excuses si je suis ennuyeux ici, mais mon élément de chaîne typedefed que l'on m'a demandé de créer n'a pas d'arrière-plan, sauf pour la déclaration de typedef car on ne me demande pas de faire quoi que ce soit. Je n'ai pas montré la liste liée ici, mais il contient essentiellement des pointeurs vers des types d'éléments qui sont des pointeurs typedefed. Je ne sais pas où aller avec ça. – Hsquared