This code shows the logic behind reversing a linked list in C++ using pointers and looping through the current nodes, changing the order in which the elements are linked to eachother.
1. NodePtr revList = NULL
2. NodePtr currNode = currHead;
3.
4. while(currNode != NULL)
5. {
6. // Set the head to the next node
7. currHead=currHead->next;
8.
9. // Link currNode to the reversed list
10. currNode->next=revList;
11. revList=currNode;
12.
13. // Move currNode to next node
14. currNode=currHead;
15. currHead=revList;
16. }