Solved

urgent:search value in map

Posted on 2011-09-11
3
302 Views
Last Modified: 2012-05-12
Hi there,

I have a map like this:
 map<int,int> months;
months[key]=value.
I know we can find the key using the find function. months[key] but is it possible find the value of the months ?

Is it possible to search for value in a map ?
0
Comment
Question by:zizi21
  • 2
3 Comments
 
LVL 53

Expert Comment

by:Infinity08
ID: 36521019
Sure. If you iterate over the entire map, and check every item in it.

But probably that's not what you want. Most likely, you are using the wrong data structure for your needs.
0
 

Author Comment

by:zizi21
ID: 36521042
I need to search for key and at times, the value. Is there any data structure that allows  me to do that?

I searched and there was boost bimap but they stated that make sure that this is what you are really after as it is a bit slow due to the redundancy being kept.
0
 
LVL 53

Accepted Solution

by:
Infinity08 earned 500 total points
ID: 36521566
There is indeed a trade-off to be taken into account. If you need to be able to efficiently perform lookups on both key and value, then you'll pay for that elsewhere (eg. in memory footprint, insertion time, ...).

If you only rarely have to look up a value, and the map is relatively small, and you can live with a slower performance when looking up by value, then you can keep using a map, and simply iterate over the entire contents to find the value.
If any of those preconditions are not true though, you'll likely be better off placing the trade-off elsewhere by using a different data structure.
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question