std::map 사용: 차순정렬하여 상위 top ranker 만 사용하고자 할 때...
[자료출처]
http://blog.naver.com/PostView.nhn?blogId=holyruby&logNo=40062164158&parentCategoryNo=29&viewDate=¤tPage=1&listtype=0
검색끝에 나름 std::map 사용의 끝판왕(?) 쯤되는 정보를 찾았음.
아래는 삽질 이후 예제로 보이기위해 프로그램 일부를 발췌..
int hey[100];
for(int c=0; c < 100; c++)
hey[c] = c;
int amount = 100;
// 내림차순 정렬... (기본은 오름차순 또는 std::less<int> 를 사용
std::map<int, int, std::greater<int>> ABC;
for(int m=0; m < amount ; m++)
{
int key = hey[m];
ABC[key] = m;
}
// loop을 위한 iterator 설정, loop을 위한 선언과 동일한 머릿말에 ::iterator를 붙여서 사용
std::map<int, int, std::greater<int>>::iterator iter;
iter = radiusMap.begin();
std::map<int, int, std::greater<int>>::iterator iterEnd;
iterEnd = radiusMap.end();
for( ; iterEnd != iter; ++iter)
{
int fst = iter->first;
int scd = iter->second;
// 출력!!!
printf("%d, %d \n", fst, scd);
}