본문 바로가기

Programming/C/C++

stl <sort> 함수 사용하기

다음과 같은 구조체의 TimeStamp라는 인자를 가지고 vector를 정렬하려고 한다.

typedef struct SAMI_DATA_ITEM
{
    TInt64     TimeStamp;                        // millisecond
    TBool    IsParagraphBegin;                // paragraph begin or end <p>&nbsp
    TBool    IsLineBreak;                    // line break : <br>
    caption_loop    Captions;                // caption loop...
} TSAMI_DATA_ITEM;
typedef std::vector<TSAMI_DATA_ITEM*> sami_data_loop;


// 비교함수 반드시 전역함수로 만든다.
static bool LessTime(TSAMI_DATA_ITEM* left, TSAMI_DATA_ITEM* right);

// 내림 차순 정렬
bool CSamiParser::LessTime(TSAMI_DATA_ITEM* left, TSAMI_DATA_ITEM* right)
{
    return left->TimeStamp < right->TimeStamp;
}

// sort
    std::sort(this->m_sami_info.begin(), this->m_sami_info.end(), LessTime);

'Programming > C/C++' 카테고리의 다른 글

epoll example  (0) 2014.07.28
Pre-defined Compiler Macros  (0) 2014.03.25
아스키 코드표  (0) 2009.04.02
C언어 가변 인자  (0) 2008.12.24
vsprintf  (0) 2008.12.24