// display the data in a circular linked list; // List points to its last node if (List != NULL) { // list is not empty ptrType First = List->Next; // point to first node ptrType Cur = First; // start at first node // Loop invariant: Cur points to next node to // display do { Display(Cur->Item); // write data portion Cur = Cur->Next; // point to next node } while (Cur != First); // list traversed? } // end if