DBLinkedList.h
上传用户:smdfuse
上传日期:2015-11-06
资源大小:98k
文件大小:1k
- #ifndef DBLINKEDLIST_INCLUDE
- #define DBLINKEDLIST_INCLUDE
- struct NodeInfo{
- void *data; // 节点内数据
- int size; // 节点数据大小
- };
- class Node{
- public:
- Node();
- Node(void * info,int size,Node* next,Node* previous);
- ~Node();
- private:
- Node* next;
- Node* previous;
- //void * info;
- NodeInfo nodedata; // 节点数据项
- bool avai;
- public:
- void SetInfo(void *info,int size);
- void* GetInfo();
- void SetNext(Node *node);
- Node * GetNext();
- Node * GetPrevious();
- void SetPrevious(Node* node);
- bool GetAvai();
- };
- class DBLinkedList{
- public:
- DBLinkedList();
- ~DBLinkedList();
- private:
- Node* head;
- Node* rear;
- Node* currentPtr;
- public:
- bool Append(void *info,int size);
-
- bool Add(void *info,int size,Node* last);
- bool Delete(Node *curr);
- void* GetInfo(Node *node);
- Node* GetCurrent();
- void* GetCurrentInfo();
- Node* GetNext();
- void* GetNextInfo();
- Node* GetPrevious();
- void* GetPreviousInfo();
- void Destory();
- void ResetCurrentPtr(bool head);
- // 获得最后一位的数据
- void *GetLastInfo();
- // 删除最后一个节点
- bool DeleteLast();
- };
- #endif