다음 정렬되지 않은 맵에 정렬 알고리즘을 쓰려고합니다. 나는 this 질문을 보았고 나는 정렬되지 않은 맵을 위해 그것을 구현하려하지만 작동하지 않는다!정렬되지 않은지도에서 중간 값을 얻는 방법은 무엇입니까?
참고 - STL 정렬 기능을 사용할 수 없습니다.
void quickSort(unordered_map<string, int> map, unordered_map<string, int>::iterator left,unordered_map<string, int>::iterator right) {
unordered_map<string, int>::iterator i=left;
unordered_map<string, int>::iterator j=right;
unordered_map<string, int>::iterator pivot = std::advance(map.begin(), map.size()/2);
unordered_map<string, int> tmp;
}
int main(){
unordered_map<string, int> map;
map["blah"] = 2;
map["the"] = 5;
quickSort(map,map.begin(),map.end());
}
** 'unordered_map'은 내부 정렬 할 수 없습니다 **. 값을 다른 컨테이너 (예 :'벡터 ')로 전송해야합니다. –
@KonradRudolph 어떤 이유입니까? – Bernard
그냥 호기심에서 벗어났습니다. 왜'std :: sort() '를 전혀 사용할 수 없습니까? 어떤 숙제인가요? – TobiMcNamobi