1. Write an algorithm or code segment for searching a circular linked list for a given item.
2. Write an algorithm or code segment for locating the nth successor of an item in a circular linked list (the nth item that follows the given item in the list).
3. Give an algorithm similar to that in the text for threading a binary tree, but to facilitate preorder traversal.
4. Write a recursive version of a linked list based linear search algorithm.