I have got a std::list< std::pair
, which I know is sorted according to the std::string element
.
Since I
If you already have a sorted list, which is sorted according to the predicate Predicate
, you can just do the following:
std::list< std::pair > sorted_list;
std::map map(sorted_list.begin(), sorted_list.end());
The map
constructor has linear time complexity if your list is already sorted, O(n*log n) otherwise. You can then work directly with the map as you would any other.
If you later want the results back in your list you could just do the opposite:
sorted_list.assign(map.begin(), map.end());