Provided n1->n2->n3->n4->n5
in general for each pair starting with n
have a temp variable that will keep copy of reference to n.next
Consider the link list n1->n2->n3->……
and n=n1
temp=n.next //temp=n2
n.next=n.next.next//n1.next=n1.next.next=n3
temp.next=n //n2.next=n1
Now move n to n.next//n=n1.next=n3
Repeat the same for next pair.but we have to link previous pair with the current pair
Which will have previous pairs 2nd element ? its temp.next
So make temp.next.next=n.next
Thats it!!
Also you can swap the pairs by just swapping the value.That is way too simple.Look at the 2nd function
Source code: