DBLinkedList.h
上传用户:smdfuse
上传日期:2015-11-06
资源大小:98k
文件大小:1k
源码类别:

图形图象

开发平台:

Visual C++

  1. #ifndef DBLINKEDLIST_INCLUDE
  2. #define DBLINKEDLIST_INCLUDE
  3. struct NodeInfo{
  4. void *data;  // 节点内数据
  5. int size;    // 节点数据大小
  6. };
  7. class Node{
  8. public:
  9. Node();
  10. Node(void * info,int size,Node* next,Node* previous);
  11. ~Node();
  12. private:
  13. Node* next;
  14. Node* previous;
  15. //void * info;
  16. NodeInfo nodedata; // 节点数据项
  17. bool avai;
  18. public:
  19. void SetInfo(void *info,int size);
  20. void* GetInfo();
  21. void SetNext(Node *node);
  22. Node * GetNext();
  23. Node * GetPrevious();
  24. void SetPrevious(Node* node);
  25. bool GetAvai();
  26. };
  27. class DBLinkedList{
  28. public:
  29. DBLinkedList();
  30. ~DBLinkedList();
  31. private:
  32. Node* head;
  33. Node* rear;
  34. Node* currentPtr;
  35. public:
  36. bool Append(void *info,int size);
  37. bool Add(void *info,int size,Node* last);
  38. bool Delete(Node *curr);
  39. void* GetInfo(Node *node);
  40. Node* GetCurrent();
  41. void* GetCurrentInfo();
  42. Node* GetNext();
  43. void* GetNextInfo();
  44. Node* GetPrevious();
  45. void* GetPreviousInfo();
  46. void Destory();
  47. void ResetCurrentPtr(bool head);
  48. // 获得最后一位的数据
  49. void *GetLastInfo();
  50. // 删除最后一个节点
  51. bool DeleteLast();
  52. };
  53. #endif