I need to merge two `unordered_map`s without changing the order. 
For example,

```
unordered_map<int,int> map1 ,map2, map3;

```

map1 contains : <4,4> <2,2>

map2 contains : <3,3> <1,1>

map1 and map2 to be merged with map3.

so my map3 should contain <4,4><2,2><3,3><1,1>

```
map<int,int>::iterator it   = map3.begin();
std::merge(map1.begin(),map1.end(),map2.begin(),map2.end(),inserter(map3,it));

```

Still map3 order is changing.
I have tried with std::merge and insert, but nothing worked as per the above req. Can someone help me on this. or am i doing some mistake on merge and insert?