llist.h
上传用户:loctite114
上传日期:2007-01-03
资源大小:49k
文件大小:1k
源码类别:

棋牌游戏

开发平台:

Visual C++

  1. #ifndef LLIST_H
  2. #define LLIST_H
  3. //*************************************
  4. //*
  5. //* Notes: 
  6. //*
  7. //* Linked list class for handing any type of object.
  8. //*
  9. //***************************
  10. //*
  11. //* Date Created: 05/14/98
  12. //* Author: Lee Patterson
  13. //*
  14. //* Copyright (c) 1999, Lee Patterson
  15. //*
  16. //*************************************
  17. class CLList
  18. {
  19. public:
  20. CLList ();
  21. ~CLList ();
  22. //adding and removing from the list
  23. void AddTail (void*);
  24. void AddHead (void*);
  25. void InsertAfter (CLList* pList, void* pvItem);
  26. void InsertBefore (CLList* pList, void* pvItem);
  27. void RemoveItem (CLList*);
  28. void RemoveHead ();
  29. void RemoveTail ();
  30. void RemoveAll();
  31. void RemoveAllItems();
  32. //retrieving items
  33. int NumEntries(){return m_iNumEntries;}
  34. void* GetItem (CLList* pList) {return pList->m_pvItem;}
  35. void* GetItem () {return m_pvItem;}
  36. int GetID () {return m_id;}
  37. CLList* GetHead () {return m_pHead;}
  38. CLList* GetTail () {return m_pTail;}
  39. CLList* GetNext (CLList* pList) {return pList->m_pNext;}
  40. CLList* GetPrev (CLList* pList) {return pList->m_pPrev;}
  41. CLList* GetNext () {return m_pNext;}
  42. CLList* GetPrev () {return m_pPrev;}
  43. //finding items
  44. CLList* FindItem(void* pvItem);
  45. CLList* FindID(int id);
  46. CLList* GetIndex(int iIndex);
  47. protected:
  48. int m_iNumEntries;
  49. int m_uniqueID;
  50. int m_id;
  51. void* m_pvItem;
  52. CLList* m_pHead;
  53. CLList* m_pTail;
  54. CLList* m_pPrev;
  55. CLList* m_pNext;
  56. };
  57. #endif