dblinkedlist.h

来自「上述是VIsualc++ 数字图像处理一书的源码」· C头文件 代码 · 共 69 行

H
69
字号


#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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?