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

📄 dimoneindex.h

📁 这是一个可以检索大量数据的程序
💻 H
字号:
#if !defined(AFX_DIMONEINDEX_H__F9182677_BD37_4470_B99A_64FA05FB3AB1__INCLUDED_)
#define AFX_DIMONEINDEX_H__F9182677_BD37_4470_B99A_64FA05FB3AB1__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif 

#include <bitset>
#include <vector>
#include <map>

namespace bmi {

#define MAX_OBJECT	16
#define MAX_KEY 0x7FFFFFFF
#define MIN_KEY	0x80000000
typedef long KEY;
typedef long OID;
typedef std::bitset<MAX_OBJECT> BITSET;
typedef std::map<KEY, BITSET > BITMAP;

/**
	本类不做任何合法性检查, 调用时务必保证数据增强性, 否则
	会出现不一致的数据.	务必保证参数 _down 小于等于 _up,否
	则会出现死循环.
	*/

class DimOneIndex  
{
public:
	DimOneIndex();
	virtual ~DimOneIndex();

	void Find( KEY _key, BITSET & bs);
	void Find( KEY _down, KEY _up, bool bPart, BITSET & bs);
	void Add( OID _oid, KEY _key);
	void Add( OID _oid, KEY _down, KEY _up);
	bool Del( OID _oid, KEY _key);
	bool Del( OID _oid, KEY _down, KEY _up);

private:
	void remove(BITMAP::iterator & it);
	BITMAP	m_Bitmap; // 一维空间Bitmap
};

}

#endif 

⌨️ 快捷键说明

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