#include #include using namespace std; struct node3 { string item; node3 *nextPtr, *prevPtr; node3(string str) { item = str; nextPtr=NULL; prevPtr=NULL; } }; // end struct class List3 { private: node3 *headPtr; public: void initialize(string dummy) { headPtr = new node3(dummy); headPtr->nextPtr = headPtr; headPtr->prevPtr = headPtr; } // end initialize function void insert(string str) { node3 *tempPtr = new node3(str); tempPtr->nextPtr = headPtr; tempPtr->prevPtr = headPtr->prevPtr; headPtr->prevPtr->nextPtr = tempPtr; headPtr->prevPtr = tempPtr; } // end insert void displayList() { node3 *currPtr = headPtr; if (currPtr->nextPtr != NULL) currPtr = currPtr->nextPtr; // don't print the first, dummy element; while(currPtr->item != "*") { cout << currPtr->item << endl; currPtr = currPtr->nextPtr; }// end while } // end displayList function }; // end class list3 int main() { char space; List3 labList; labList.initialize("*"); labList.insert("dog"); labList.insert("cat"); labList.insert("bunny"); labList.insert("fox"); labList.displayList(); cout<< "Press space to exit"; cin >> space; } // end main