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

📄 ptrset.h

📁 这个工具集提供以下结构化分析和UML分析中所用的图形化绘图工具:ER-diagrams, data and event flow diagrams and state-transition diagr
💻 H
字号:
#ifndef _PTRSET_H#define _PTRSET_H#include "bool.h"#include <stddef.h>enum mode { SNext = 0, SPrevious = 1, SExact, SInsert };template <class T> class PtrSet;template <class T> class PtrSetEl {	private:		PtrSetEl<T> *child[2];		const PtrSetEl<T> *father;		T *item;		PtrSetEl(T *newitem, const PtrSetEl<T> *f =			(const PtrSetEl<T> *) NULL);		PtrSetEl(const PtrSetEl<T> &copy, const PtrSetEl<T> *f =			(const PtrSetEl<T> *) NULL);		~PtrSetEl();		T *search(T *key, mode notfound);		void print(int depth);	friend class PtrSet<T>;};template <class T> class PtrSet {	private:		PtrSetEl<T> *root;		const PtrSetEl<T> *current;	public:		PtrSet();		~PtrSet();		PtrSet(const PtrSet<T> &copy);		T *search(T *key, mode notfound);		bool contains(T *key) {			return NULL != search(key, SExact);		};		void clear() {			if ( NULL != root ) {				delete root;				root = (PtrSetEl<T> *) NULL;				current = (const PtrSetEl<T> *) NULL;			}		};		bool first(mode dir = SNext);		bool last() {			return first(SPrevious);		};		bool next(mode dir = SNext);		bool prev() {			return next(SPrevious);		};		T *cur() const {			return NULL != current ? current->item : (T *) NULL;		};		void print();};#endif

⌨️ 快捷键说明

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