⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dblinkedlist.h

📁 数字图像处理
💻 H
字号:


#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -