繁体   English   中英

哪个 STL 容器用于 Orderbook 表示?

[英]Which STL container for Orderbook representation?

我正在构建一个应用程序,它接收来自不同货币交易所的价格数据的更新。 现在我需要选择最有效的容器。 容器将使用Entry类型的元素:

struct Entry
{
    std::string exchange_name;
    double price;
    double amount;
}

条目必须按价格升序排列:

Ex.Name    Price    Amount
  "A"       1.2       23
  "B"       1.3       3
  "A"       1.4       1.2
  "C"       1.5       4
  "A"       1.6       2

容器上会有很多插入和移除。 我想每秒最多 200 次是可能的。 容器内的值可能不是const ,因此可以更改特定条目的数量。

到目前为止,我得出的结论是std::list可能是一个不错的选择,因为它允许在序列内的任何地方进行恒定时间插入和擦除操作

std::list是这个应用程序的最佳选择还是我应该使用另一个容器?

好吧,列表插入将是常数时间,但是您的列表应该是有序的,因此,您需要先找到合适的插入位置。 这将需要O(N)时间! 因此,更喜欢基于有序树的容器(如std::multimap效率更高。 插入或搜索将花费O(log(N))时间。 价格应该是关键

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM