#include<cstdio>
#include<cmath>
struct node{
int value;
struct node* next;
};
node* reverse(node* list){
node* head=NULL,*cur=list,*temp;
while(cur!=NULL){
temp = cur->next;
cur->next = head;
head = cur;
cur = temp;
}
return head;
}
int main(){
node n1,n2,n3,n4,n5,n6,n7;
n1.value = 1;
n2.value = 2;
n3.value = 3;
n4.value = 4;
n5.value = 5;
n6.value = 6;
n1.next = &n2;
n2.next = &n3;
n3.next = &n4;
n4.next = &n5;
n5.next = &n6;
n6.next = NULL;
node* list1 = &n1;
node* p = reverse(list1);
while(p!=NULL){
printf("%d ",p->value);
p = p->next;
}
printf("\n");
}