Doubly linked list implementation using one pointer storage