我從這個結構中創建數組項:從陣列到優先級隊列
struct ks{
int cap;
int val;
};
陣列被命名爲項目,包含項目的數量。
items = new ks[quantity];
我希望把他們在優先級隊列 - 這基本上意味着對其進行排序。
這是我比較功能:
struct itemsCompare{
bool operator() (const ks &item1, const ks &item2){
if (item1.val/item1.cap > item2.val/item2.cap) return true;
return false;
}
};
應該如何創造這個隊列的樣子?
priority_queue <ks, What should I put here?, itemsCompare> comparedItems;
for(int i=0; i<quantity; i++) comparedItems.push(items[i]);
我知道,那個模板需要有vector作爲容器。我應該如何修改代碼才能使其工作?我知道我可以在聲明優先級隊列之前將項目放入向量中,但我很好奇是否有辦法用數組來完成它。
戴上'的std ::矢量'那裏。 –
也請製作一個小巧簡單的程序來評估您建議的分割表情,並確保它們的行爲符合您的要求。 –
並使函數調用運算符重載'const'。 –