#include <iostream>
using namespace std;
struct List_node
{
int value;
List_node* next;
};
int main()
{
List_node node5 = {5, nullptr};
List_node node4 = {4, &node5};
List_node node3 = {3, &node4};
List_node node2 = {2, &node3};
List_node node1 = {1, &node2};
List_node* list = &node1;
List_node* np = list;
while (np)
{
cout << (*np).value << "->";
np = (*np).next;
}
cout << "NULL" <<endl;
List_node* curr = list;
List_node* prev = nullptr;
while (curr)
{
List_node* temp = (*curr).next;
(*curr).next = prev;
prev = curr;
curr = temp;
}
List_node* newList = prev;
np = newList;
while (np)
{
cout << (*np).value << "->";
np = (*np).next; //np = np -> next;
}
cout << "NULL" << endl;
}