Assignment: Create a double linked list and then create a structure to hold each double linked list with a name. I figured that with each double linked list that the user can create I can just add it to the end of a single linked list.
The link structure below is used to hold the name of the list, the list created by the user, and a pointer to the next link. To make a list the user just enters: "c listName" from stdin. I can create mutliple lists and it seems just fine until I use void printList(..) to see if the single linked list is indeed intact. If I would enter: c List1 then c List2 and then c List3 and print them out to see if I have List1 List2 List3, I get List3 List3 List3.
I've tried for hours (pathetically) to see what can be wrong and I just cannot get it. A hint to the next step would greatly help me out!
Code://Structure for the collection of double-linked lists. struct link { char *name; struct link *next; list currentList; }; void insertNewList(struct link **head, char *data) { struct link* temp; struct link* temp1; list x; x = create(); temp = (struct link*) malloc(sizeof(struct link)); temp -> name = data; temp -> currentList = x; temp -> next = *head; *head = temp; printf("The name of the new list is: %s\n", (*head) -> name); } void insertStringToList(struct link **head, char *data, char *listName) { struct link* temp; temp = *head; if (strcmp(temp -> name, listName) == 0) { printf("we found a match.\n"); } else { printf("the listName was not found.\n"); } } void printList(struct link **head) { struct link* temp; temp = *head; printf("%s ", temp -> name); while (temp != NULL) { printf("%s ", temp -> name); temp = temp -> next; } printf("\n"); }



LinkBack URL
About LinkBacks


