我希望解决一个问题,首先需要对一些数据进行排序。
例如 - 关键字 -> 在 std::multimap
中的值。
它会根据关键字自动按升序存储数据。
但是,当我需要根据它们的值对重复的关键字进行排序时,就会出现问题。
我尝试了一个愚蠢的方法,只是将一组重复的关键字转移到新的std::multimap
中,然后进行排序和存储,但这会导致代码的重复实现,增加空间和时间的复杂性。
例如:
Key - Values
9 - e
3 - b
1 - c
1 - a
5 - d
9 - a
期望的排序后数值为:
1 - a
1 - c
3 - b
5 - d
9 - a
9 - e
但是使用multimap输出将返回:
1 - c
1 - a
3 - b
5 - d
9 - e
9 - a
当有多组与一个键相对应的值时,这个问题会进一步升级。
由于我是C++的新手,无法使用现有容器来解决这个问题。
在SQL中很容易实现这个功能,但在C++中我不知道该怎么做。
std::sort
。 - nwpmultimap
不是数据库。而且SQL数据库表也没有排序;你只是得到一个已排序的视图。 - Nicol Bolas