2016-05-23 9 views
0

Im eine verknüpfte Liste erstellen soll, und ich war eine Header-Datei angegeben, die die Funktionen enthält:verlinkte Liste Createlist vs initNode Funktionen

listNode *initNode(int value); 
listNode* createList(); 

Im Art von verwirrt, was die Funktion Createlist tun sollten ...

im initNode es so etwas wie möchte:

listNode *someNode; 
someNode = malloc(sizeof(listNode)); 
someNode->next = NULL; 
someNode->value = value; 
return someNode; 

Was ist zu tun, die Createlist-Funktion? Ich würde es in meinem Testprogramm nennen, aber ich weiß nicht wirklich, was ich damit anfangen soll.

+0

Meine Vermutung wäre, dass 'createList' die verknüpfte Liste für Sie verwalten würde, aber Sie haben auch die Möglichkeit, einen Knoten zu erstellen und ihn selbst zu verwalten. Nur eine Vermutung, ich bin nicht vertraut mit dieser bestimmten Bibliothek. – TowerFan

+0

Außerdem schlage ich vor, Tags hinzuzufügen, um die Sprache anzugeben, die Sie verwenden. Ich gehe davon aus, C. – TowerFan

+0

Ich sah nur einige andere Dateien, die ich bekam, und es sagte: Erstellen Sie einige Knoten, um den Kopf der Liste und dann den nächsten Zeiger gleich NULL und geben Sie diesen Knoten zurück. Wäre das nur: listNode * anyNode; anyNode-> next = NULL – FreeStyle4

Antwort

0

Wenn Sie die LinkedList mit einem dummen Header-Knoten implementieren möchten, können Sie dies in der Methode createList tun. Oder wenn Sie es wünschen verwenden Sie einen anderen struct mit mehr Informationen über die Liste, so etwas wie

struct LinkedList { 
    listnode *header; 
    size_t size; 
}; 

können Sie auch malloc und init es in Ihrem createList Methode.

0

createList kann Speicher für eine neue Listenstruktur zuweisen, wobei normalerweise eine neue Listenkopfstruktur erstellt wird, ein "Handle" mit dem Sie die Liste später bearbeiten können.