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

📄 xsortbase.h

📁 排序算法以及评估
💻 H
字号:
//////////////////////////////////////////////////////////////////////
// 版权所有(C)  1994-2004											//
// 工程名称:	TestBed
// 文件名: 	XSortBase.h
// 声明类:		CXSortBase,CXSortBaseT<TYPE>
// 说明:    	排序基类
//	                                                                //
// 创建日期:	2004.8.8
// 创建人:  	邓辉
// 修改记录                                                         //
// 修改日期     修改人     说明                                     //
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_XSORTBASE_H__AB85B3DB_2E36_439B_BC23_15A18895577E__INCLUDED_)
#define AFX_XSORTBASE_H__AB85B3DB_2E36_439B_BC23_15A18895577E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define XTEST
enum XTESTMODE
{
	TESTALL=0,	//统计时间,赋值,比较次数
	TESTTIME,	//仅统计时间
	TESTNONE	//不做统计测试
};

class CXSortBase
{
public:
	CXSortBase();
	virtual ~CXSortBase();
	virtual void Reset();
	//设置测试模式
	void	SetTestMode(int nTestMode) {m_nTestMode = nTestMode;}
	//获取测试信息
	CString	GetTestInfo();

	double	GetTime()		{return m_dTime;}
	double	GetCompare()	{return m_dCompare;}
	double	GetEvaluate()	{return m_dEvaluate;}
private:
	CXSortBase(const CXSortBase& rhs);
	CXSortBase& operator= (const CXSortBase& rhs);
protected:
	double   m_dCompare;
	double   m_dTime;
	double   m_dEvaluate;
	int		 m_nTestMode;
};


template <class Type>
class CXSortBaseT:  public CXSortBase
{
public:
	CXSortBaseT(){Reset();};
	virtual ~CXSortBaseT(){};
	//排序
	virtual void	Sort(Type* pArray, int nArray, BOOL bDesc=TRUE)=0;
	//比较函数 可用于扩展
	virtual int		Compare(Type lhs, Type rhs){return 0;}
private:
	CXSortBaseT(const CXSortBaseT& rhs);
	CXSortBaseT& operator= (const CXSortBaseT& rhs);
protected:
};


#endif // !defined(AFX_XSORTBASE_H__AB85B3DB_2E36_439B_BC23_15A18895577E__INCLUDED_)

⌨️ 快捷键说明

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