true circularly linked list simply starts with a formal LISTHEAD - a list item that is a place-holder - that points to itself in both directions. In programs that use this, there is also an external pointer that points to the listhead item. Often the listhead contains a special mark that says "I'm a listhead" so that when you step through the list, you know what you have come full circle. With that circular structure, it becomes a "full random insertion and removal" queue since you can insert or remove non-listhead items anywhere in the queue by threading through until you find the place you want it to go, even the "first" or "last" element.