簡體   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