51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
|
|
// QSortData.h: interface for the CQSortData class.
|
|||
|
|
//
|
|||
|
|
//////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#if !defined(AFX_QSORTDATA_H__05802C51_F215_4B0C_A99D_F1D37D869F96__INCLUDED_)
|
|||
|
|
#define AFX_QSORTDATA_H__05802C51_F215_4B0C_A99D_F1D37D869F96__INCLUDED_
|
|||
|
|
|
|||
|
|
#if _MSC_VER > 1000
|
|||
|
|
#pragma once
|
|||
|
|
#endif // _MSC_VER > 1000
|
|||
|
|
#define MAX_BUFFER 8192 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
typedef struct _SORTCOUNT{
|
|||
|
|
int Value;
|
|||
|
|
int CountNum;
|
|||
|
|
}SORT_COUNT, *pSORT_COUNT;
|
|||
|
|
|
|||
|
|
class CQSortData
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
CQSortData();
|
|||
|
|
public:
|
|||
|
|
void SetSortDir(int nDir = 0);
|
|||
|
|
int GetSortDir();
|
|||
|
|
void Sort(LONG *data,int left,int right);
|
|||
|
|
int GetDataTypes();
|
|||
|
|
int GetMidDataCount();
|
|||
|
|
int GetMidData();
|
|||
|
|
int GetMinData();
|
|||
|
|
int GetMaxData();
|
|||
|
|
virtual ~CQSortData();
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
BOOL m_bNewData;
|
|||
|
|
int m_DataMax; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int m_DataMin; // <20><>С<EFBFBD><D0A1>
|
|||
|
|
int m_DataTypes; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int m_SortDir; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
int nBufferSize; // <20>趯̬<E8B6AF><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>С
|
|||
|
|
SORT_COUNT m_DataMiddle; // <20>м<EFBFBD><D0BC><EFBFBD>
|
|||
|
|
pSORT_COUNT Result; // _SORTCOUNT<4E>ṹ<EFBFBD><E1B9B9>ָ<EFBFBD><D6B8>, ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
LONG * Buffer;
|
|||
|
|
private:
|
|||
|
|
void SortAsc(LONG *data, int left, int right); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void SortDsc(LONG *data, int left, int right); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void ProcessData(void);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#endif // !defined(AFX_QSORTDATA_H__05802C51_F215_4B0C_A99D_F1D37D869F96__INCLUDED_)
|