Programming

c++ std map 사용 하여 key value 리스트 만들기 - 마지막 항목 얻기

DragonTory 2021. 5. 28. 16:23
반응형

c++ std map 사용 하여 key value 리스트 만들기 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <map>
 
typedef std::map<std::stringint>  MAP;
typedef MAP::iterator                MAP_ITER;
 
void Test()
{
    MAP keyMap;
 
    keyMap["c"= 200;
    keyMap["a"= 0;
    keyMap["e"= 500;
    keyMap["b"= 100;    
    keyMap["d"= 300;
 
    for( MAP_ITER Iter = keyMap.begin(); Iter != keyMap.end(); Iter++)
    {            
        printf("%s : ", Iter->first.c_str());        // key
        printf("%d", Iter->second);        // value
        printf("\n");
        
        if(Iter == --keyMap.end())     // last item
        {
            printf("Done\n");
        }
    }
}
 
cs

 

map을 사용 해서 값을 출력 해보면 

a : 0
b : 100
c : 200
d : 300
e : 500
Done

위와 같이 abc로 정렬 된 상태로 저장 되어 있는 것을 볼 수 있다. 

내가 추가한 대로 들어 가는 것이 아니란 점 유의 하자. 

오름차순 정렬이 필요 할 때 더욱 유용 하다. 

 

map의  마지막 요소를 확인 하려면 

operator -- 를 사용 해서 

(--keyMap.end) 해서 사용 하면 된다. ( 아이템이 하나라도 있을 경우, 아니면 에러 )

 

반응형