차근차근/C

std::map 사용: 차순정렬하여 상위 top ranker 만 사용하고자 할 때...

예쁜꽃이피었으면 2014. 8. 26. 14:43

http://jegom.tistory.com/32


[자료출처]

http://blog.naver.com/PostView.nhn?blogId=holyruby&logNo=40062164158&parentCategoryNo=29&viewDate=&currentPage=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);



반응형

'차근차근 > C' 카테고리의 다른 글

[C/C++]폴더 검색 함수  (0) 2014.09.03
[C언어] 파일 및 디렉토리 이름 변경 함수 - rename  (0) 2014.09.03
greater<int>  (0) 2014.08.21
[C++] vector  (0) 2014.08.20
[C++] map에서 find 를 이용해서 없는 항목 찾기  (0) 2014.08.20