Problem
1. Implement a routine exchange (struct node *t, struct node *u) for a linked list that exchanges the positions of the nodes after the nodes pointed to by t and u.
2. Write a program to solve the Josephus problem, using an array instead of a linked list.
3. Write procedures for insertion and deletion in a doubly linked list.
4. Write procedures for a linked list implementation of pushdown, but using parallel arrays.