The following c function takes a singly linked list of integers as a parameter and rearranges the elements of the list the function is called with the list containing the integers 1,2,3,4,5,6,7 in the given order what will be the contents of the list after the function completes execution?
struck node{
int value;
struck node* next;
};
void rearrange (struck node* list){
struck node *p,*q;
int temp;
if(!list||!list->next)return;
p =list;
q=list->next;
while(q){
temp=p->value;p->value=q->value;
q->value=temp;p=q->next;
q=p!p->next:0?
}
}