Question: Please complete the required methods. Then, ensure that a deep copy is made, so that every person struct is duplicated. #include #include #include #include struct
Please complete the required methods. Then, ensure that a deep copy is made, so that every person struct is duplicated.
#include
struct person { char *name; int age; struct person * next; ;
struct linkedlist { struct person *front; struct person *rear; };
void print (struct person *p) { printf ("Name=%s age=%d ", p->name, p->age); }
struct person* makeNode (char* name, int age) { struct person *p; p = (struct person*) malloc (sizeof(struct person)); p->name = name; p->age = age; p->next = NULL; return p; }
struct linkedlist* initList () { struct linkedlist* L; L = (struct linkedlist*) malloc (sizeof(struct linkedlist)); L->front = NULL; L->rear = NULL; return L; }
void addToList (struct linkedlist* L, char* name, int age) { if (L->front == NULL) { L->front = makeNode (name, age); L->rear = L->front; } else { L->rear->next = makeNode (name, age); L->rear = L->rear->next; } }
void printList (struct linkedlist* L) { struct person *p;
// WRITE YOUR CODE HERE }
struct linkedlist* copy (struct linkedlist* L) { struct person *p; struct linkedlist *L2;
// WRITE YOUR CODE HERE }
int main () { struct linkedlist *L1, *L2;
L1 = initList (); addToList (L1, "R2-D2", 609); addToList (L1, "Optimus Prime", 2700); addToList (L1, "Wall-E", 210); printList (L1);
L2 = copy (L1);
addToList (L2, "T-1000", 30);
printList (L2);
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
