【发布时间】:2016-06-14 06:19:26
【问题描述】:
我有以下字符串: 1465883175.476876 接收 0x03 0x00000000
1465883175.606049 RX 0x00 0x00000000
1465883175.783562 RX 0x02 0x00000000
1465883175.906900 RX 0x03 0x00000000
1465883176.051490 RX 0x00 0x00000000
1465883176.201903 RX 0x03 0x00000000
如何将它们输入到容器中,该容器将根据第一个双类型数据 (c++) 对它们进行排序?
我必须以最有效的方式去做。
我考虑使用 std::set 容器,但在这个容器中,容器中没有两个元素可以具有等效键。在任何情况下,字符串可能包含相同的数字。
【问题讨论】:
-
正如您提出问题时右侧的弹出框所述:提供详细信息。分享您的研究。
-
您可以将它们作为字符串放在
std::vector中,并将std::sort与您自己的比较函数一起使用,该函数解析双精度并比较它们。或者您可以使用带有解析字段的结构并将它们放入向量中,这样您就不必为每次比较解析双精度。 -
@Karsten Koop- 优先队列呢?
标签: c++ sorting c++11 containers