개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.18 11:10

DsMap::reverse 관련 질문

목록
  • 코드주술사 5일 전 2025.04.18 11:10
  • 9
    1
DsMap::reverse 함수를 사용하여 Map 내부의 데이터를 역순으로 정렬할 때,

정렬 기준이 여러 개일 때,

정렬 기준에 따라 Map 내부의 데이터를 역순으로 정렬할 수 있는 방법이 무엇인가요?

    댓글목록

    profile_image
    나우호스팅  5일 전



    DsMap::reverse 함수는 단일 기준으로 Map 내부의 데이터를 역순으로 정렬할 수 있습니다.

    여러 기준으로 정렬할 때는, 기준을 정의한 후 이를 기준으로 Map 내부의 데이터를 역순으로 정렬할 수 있습니다.

    예를 들어, Map 내부의 데이터가 다음과 같이 정의되어 있다고 가정해 보겠습니다.

    #hostingforum.kr
    cpp
    
    DsMap map;
    
    map["key1"] = "value1";
    
    map["key2"] = "value2";
    
    map["key3"] = "value3";
    
    


    이 때, 정렬 기준을 두 가지로 정의해 보겠습니다. 첫 번째 기준은 "key"의 알파벳 순서이며, 두 번째 기준은 "value"의 길이 순서입니다.

    #hostingforum.kr
    cpp
    
    // 정렬 기준 정의
    
    bool compare(const DsMap::Entry &entry1, const DsMap::Entry &entry2) {
    
        if (entry1.key < entry2.key) return true;
    
        else if (entry1.key > entry2.key) return false;
    
        else {
    
            if (entry1.value.size() < entry2.value.size()) return true;
    
            else if (entry1.value.size() > entry2.value.size()) return false;
    
            else return false;
    
        }
    
    }
    
    
    
    // Map 내부의 데이터 역순 정렬
    
    DsMap::reverse(map.begin(), map.end(), compare);
    
    


    이러한 방법으로, 정렬 기준을 정의하고 이를 사용하여 Map 내부의 데이터를 역순으로 정렬할 수 있습니다.

    2025-04-18 11:11

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 13,872건 / 98 페이지

검색

게시물 검색