Implementation in C: #include<stdio.h> #include<stdlib.h> struct node { int data; struct node* next; }; void push(struct node** ref, int newData) { struct node* newNode = (struct node*)malloc(sizeof(struct node)); newNode->data = newData; newNode->next = (*ref); (*ref) = newNode; } void print(struct node* n) { struct node* temp = n; if(temp == NULL) { printf("Empty LinkedList"); } while(temp!=NULL) { printf(" %d",temp->data); temp=temp->next; } } void pairswap(struct node* head) { struct node* current = head; while(current!=NULL && current->next != NULL) { swap(¤t->data,¤t->next->data); current = current->next->next; ...