Searching in both directions needs forward and backward movement, so a doubly linked list is needed.
Wraparound means after the last node we should be able to move to the first node, and before the first node we should be able to move to the last node.
That needs circular links.
So the best choice is a circular doubly linked list.