00001 00005 00006 #ifndef SET_DEFS_H 00007 #define SET_DEFS_H 00008 00009 class InfoRecord; 00010 00011 class listNode { 00012 public: 00013 listNode *next; 00014 InfoRecord *info; 00015 }; 00016 00017 class Iterator{ 00018 public: 00019 int id; // for debugging 00020 listNode* next; 00021 }; 00022 00023 class Set { 00024 00025 private: 00026 listNode *head; 00027 00028 public: 00029 Set(); 00030 ~Set(); 00031 void insert(InfoRecord *); 00032 int find(InfoRecord *) ; 00033 void remove(InfoRecord *); 00034 void myRemove(listNode **n, InfoRecord *r); 00035 InfoRecord *iterator(Iterator *); 00036 InfoRecord *next(Iterator *); 00037 int numElements(); 00038 void print(); 00039 }; 00040 00041 #endif 00042