我有一個C++的大學編程項目分爲兩部分。我開始使用priority_queues
,hash tables
和BST
的第二部分。列表到優先隊列
我在使用優先級隊列的麻煩(至少),因爲它承付自己重做了很多的第一部分已經實現的代碼。
該項目是關於實施簡單的機場管理系統,因此,我有像機場(主類),飛機,終端和飛行類。我有機場終端的list
,但現在項目規範指出,我必須保持終端的priority_queue
其中頂部包含終端少佔用,即具有較小的航班。
對於每個類,我有CRUD功能,但現在,我怎麼,例如,編輯終端和飛行補充呢?有了列表,我只需迭代到一個特定的位置,但現在我只能訪問隊列頂部的對象。我想過的解決方案是將優先級隊列終端複製到臨時列表中,但是,老實說,我不喜歡這種方法。
我該怎麼辦?
在此先感謝。
你知道如何從優先級隊列中檢索項目?你知道如何插入優先隊列嗎?準確的用戶界面有什麼要求?爲什麼你確實認爲你被要求將終端保存在一個優先級隊列中? – 2010-12-11 12:42:51
@Karl Knechtel:'top()'檢索第一個元素,'push'插入一個元素並且'pop'去除第一個元素。我需要在實現中爲每個類添加CRUD函數。如果你有一個機場來管理,系統必須讓用戶執行所有的典型操作:**創建**'飛機',**創建**'航班',**創建**終端, **聯合**'飛機'和'航班',**聯合**'航班'和'終端'。在我寫'添加'的地方,它可以被其他** CRUD **函數(讀取,更新和刪除)替代。 – 2010-12-11 12:51:46
當您必須使用優先級隊列時,您只能使用優先級隊列嗎?或者,您是否允許在優先級隊列和散列表或BST中存儲指向終端的指針? – outis 2010-12-11 12:58:31