|
hey, im working on making a copy of a linked list, where the values are reversed, ie. in opposite order. I understand how to make a copy of a linked list. which i have here. but i have no idea how to copy the linked list in reverse order. any help? thanks
NODE* copy(NODE*&head) { NODE* node = head; NODE* newhead, *newnode, *previous; // EMPTY LIST if (node == NULL) return NULL; // FIRST NODE IN LIST newnode = new NODE; newnode->data = node->data; newhead = newnode; // ITEMS IS MIDDLE OF LIST while (node->next != NULL) { previous = newnode; newnode = new NODE; previous->next = newnode; node=node->next; // ADVANCE THE POINTER ON THE ORIGINAL LIST newnode->data=node->data; } newnode->next=NULL; //RETURN ADDRESS OF NEW LIST return newhead; }
|