我正在尋找一個免費的軟件實現有界優先級隊列 C++中的抽象。基本上,我需要一個數據結構,其行爲就像std::priority_queue
,但始終保持最「最好」的元素。在C++中免費實現「有界優先級隊列」
例子:
std::vector<int> items; // many many input items
bounded_priority_queue<int> smallest_items(5);
for(vector<int>::const_iterator it=items.begin(); it!=items.end(); it++) {
smallest_items.push(*it);
}
// now smallest_items holds the 5 smallest integers from the input vector
有誰知道一個良好的執行這樣的事情嗎?任何經驗與它?
我認爲這是涵蓋在http://stackoverflow.com/questions/2933758/priority-queue-with-limited-space-looking-for-a-good-algorithm – 2011-03-16 18:13:31
感嘆,購物的問題永遠不會吸吮。 – 2011-03-16 18:33:48