#include "listdata.h" //Header file for LinkList class struct ListElement { ListData ListInfo; ListElement *Successor; }; typedef void (*FcnType) (ListData Info); class LinkList { protected: ListElement *Head, *Cursor, *Prev, *Rear; int Size; void DoSearch(ListData El, //input - value sought ListElement *ListHead, //input - node to check int &Success); //output - program flag public: LinkList(); ~LinkList(); int GetSize(); int IsEmpty(); void Search(ListData El, //input - value sought int &Success); //output - program flag void Insert(ListData El); //input - data to insert void InsertAfter(ListData El); //input - data to insert void InsertAtEnd(ListData El); //input - data to insert void Retrieve(ListData &El, //output - data retrieved int &Success); //output - program flag void DeleteNode(); void InitCursor(); int AtEnd(); void Advance(); void Traverse(FcnType Visit); //input - function pointer };