gpt4 book ai didi

c++ - Map结构也支持排序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:27:47 25 4
gpt4 key购买 nike

我在我的程序中使用了一个映射结构。该结构的关键是时间戳。这些值不断随机变化。我使用 map 的主要目的是确保所有值的表示及其时间戳应该按降序排列,就像最新事件应该排在最前面一样。然而,这并没有发生。这些值未按所需的(降序)顺序排列。

我已经声明了像这样的 map 结构

map<time_t, events> eventR;
map<time_t, events>::iterator iterator;

if the events are there {
then iterator=eventR.begin();
for(iterator = eventR.begin(); iterator!=eventR.end(); ++iterator)
{
//Display
}
}

可能是我理解错了map结构,好像不一定排序,但是我想如果我用timestamp,那么数据会按照最新的事件显示。我在这里做错了什么吗?我是否必须使用不同的数据结构才能获得所需的结果?

谢谢

最佳答案

将您的 map 声明为:std::map<time_t, events, std::greater<time_t>> . (使用 typedef 以便更容易声明迭代器。)

或者,使用 rbegin() 反向迭代您的 map 和 rend() .

关于c++ - Map结构也支持排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11768647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com