如何使用具有键值的std :: map容器降序.
例如,如果插入以下项目:
[2 , 5]
[1 , 34]
[3 , 67]
Run Code Online (Sandbox Code Playgroud)
他们将在地图上订购,如:
position 0: [1, 34]
position 1: [2, 5]
position 2: [3, 67]
Run Code Online (Sandbox Code Playgroud)
我可以反向迭代地图,但假设我下次插入[-1,60].它会被放在第一个位置吗?
容器std::map始终根据键的值对键进行排序.是否可以对它进行排序,例如,在声明时设置的位数?
我有一个计数设置位的功能:
for(size_t i = 0; i < CHAR_BIT * sizeof value; ++i, value >>= 1) {
if ((value & 1) == byteState) ++num_bits;
}
Run Code Online (Sandbox Code Playgroud)
但是在声明地图时我不知道如何应用它:
std::map<int, int> myMap = {
{1,2},
{3,4},
//...
}
Run Code Online (Sandbox Code Playgroud)
我试图将它作为声明中的第三个参数<int,int,decltype(countSetBits)>,但没有运气.