현재 WordCounter (MapReduce)를 작성 중입니다. 내가 intermediateMap 변수를 사용MapReduce - 벡터의 첫 번째 위치에 직접 삽입 <int>
map<string, vector<int> > WordMap;
: 나는 또한 문자열과 vectory 데이터 구성 요소가있는지도 인 된 resultMap을 사용
void WordCounter::Reduce(string intermediateWord, vector<int> intermediateLineNr) {
resultMap.insert(pair<string, vector<int> >(intermediateWord, intermediateLineNr));
vector<int>& resultLineNr = resultMap[intermediateWord];
resultLineNr.clear();
resultLineNr.push_back(intermediateLineNr.size());
} // WordCounter::Reduce
: 같은 감소 기능의
내 구현 보인다 여기에는 각 단어와 줄 번호가 포함되어 있습니다. 이제 각 단어를 resultMap에 추가하고 싶지만 줄 번호 대신 벡터의 첫 번째 위치에 단어 수를 추가하고 싶습니다.
지금 전체 intermediateLineNr 벡터를 복사하고 지우고 첫 번째 위치에 단어 수를 삽입하십시오.
특정 벡터의 첫 번째 위치에 직접 삽입 할 가능성이 있습니까?
이렇게 쉬운 방법이 있어야한다고 생각합니다.
Thansk, 저에게 잘 작동합니다. 하지만 한 가지 질문이 있습니다. [] 연산자가지도에없는 단어를 자동으로 추가합니까? – MeJ
예, 동작을 지정하는 방법입니다. –
예,지도에 누락 요소를 자동으로 추가하는 연산자 []이 있습니다. 많은 사람들이 그 때문에지도가 혼란 스럽다고 말합니다. –