http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNO=20&no=941876&ref=941876&page=1
안녕하세요
map에 key는 float형식이고
value는 string입니다.
현재 key는 내림차순으로 정렬되어 있습니다.
이 map의 데이터에서 상위 10개의 key와 value를 추출하고 싶습니다.
어떤 걸 사용해야 상위10개를 추출할 수 있나요?
답변 부탁 드리겠습니다..
=> 답1
begin() 으로 이터레이터 얻어서 ++ 하면서 10개 항목 얻어오면 되죠.
뒤에서부터 하려면 rbegin() 으로 리버스 이터레이터 얻어오면 되구요.
=>나의 질문1
map<float, string,greater<float>>::iterator iter3;
for( iter3 = matchMean2.begin(); iter3 != matchMean2.end() ; iter3++)
cout << "matchMean2["<<(*iter3).first <<"]: " << (*iter3).second << endl;
이렇게 전체는 받아오는데요
10개까지라는걸
iter3 != matchMean2.end() ;
여기서 어떻게 표현해야 할지 모르겠습니다.
=>답1-1
조건을 아래와 같이 추가하면 되겠죠.
map<float, string,greater<float>>::iterator iter3;
int i = 0;
for( iter3 = matchMean2.begin(); iter3 != matchMean2.end() && i < 10 ; iter3++,i++)
반응형
'나의질문답' 카테고리의 다른 글
콘솔창에 초록글씨가 나타내는건 뭔가요? (0) | 2014.09.01 |
---|---|
파라미터를 콘솔창에서 입력하려고 하는데 디코딩?에서 문제가 있는것 같습니다. (0) | 2014.09.01 |
map의 데이터에 대해 궁금합니다. (0) | 2014.08.26 |
map의 value가져오기 (0) | 2014.08.20 |
c소스 질문있습니다... (0) | 2014.08.20 |