'윈도우/소스'에 해당되는 글 1건

  1. 2012.11.27 CArray qsort - CArray 를 퀵소트 해보자.

광고 수익은 기아대책 서울본부에 기부합니다.

2012.11.27 12:09 윈도우/소스

CArray qsort - CArray 를 퀵소트 해보자.

 

// 예를 들어 아래 클래스가 있다면

class CDataInfo
{
public:
 CDataInfo(){};
 virtual ~CDataInfo(){};
 CString strDate;
};

 

// 데이터 클래스의 리스트를 소트해보자

typedef CArray<CDataInfo, CDataInfo&> CDataList;

// 소트 비교 함수

typedef int (__cdecl *DATA_COMPARE_FN)(const void* elem1, const void* elem2);

int CDataInfo_Compare(const CDataInfo* p1, const CDataInfo* p2)
{
 ASSERT(p1);
 ASSERT(p2);

 return (int) (p2->strDate > p1->strDate); // Descennding
}

 

// 호출할 소팅 함수
static void SortDataList(CDataList& data, DATA_COMPARE_FN pfnCompare)
{
 CDataInfo* prgArray = data.GetData();
 qsort(prgArray, data.GetSize(), sizeof(CDataInfo), (DATA_COMPARE_FN)CDataInfo);
}

저작자 표시 비영리 동일 조건 변경 허락
신고

'윈도우 > 소스' 카테고리의 다른 글

CArray qsort - CArray 를 퀵소트 해보자.  (0) 2012.11.27
posted by Town One townone

티스토리 툴바