I am looking for a data structure, which is capable storing a large amount a data. the data structure need to be able to sort the data quickly, and find certain elements as quickly as possible. what data structure would be ideal here?
I'm guessing you mean container and not data structure. Perhaps you should look at the containers link (http://www.cplusplus.com/reference/stl/) to find the right STL container. If you are truly asking for a data structure, then that will depend upon the different types of data you need.
Both maps and sets are sorted by design. If you are storing just a unique key value, a set is probably what you need. A map is an associative container allowing you to use a string for example as the key. Take a look at both to see how they might apply to your needs:
If you are interested in the data structures that these containers use you should know that std::set and std::map is usually implemented as a red–black binary tree.
There is also std::unordered_set and std::unordered_map that are implemented using hash tables. They also have fast lookup but if you iterate over the elements they will not be in any particular order.
Depending on what you are doing you might also want to consider using an ordinary vector, and use binary search to find the element that you are looking for, but the code for this will probably not look as nice as with set/map. The advantage with this method is that the elements can be stored more space efficient but insertions are usually slower.