2017-10-06 66 views

回答

1
bool operator < (const DATA &p) const { 
    return p.dist > dist; 
} 

這小於<運算符重載。

您正在通過DATA &p前綴const這意味着p通過引用傳遞,它不能在函數內部修改或更改。

const {開始的功能意味着該方法內不會有寫入/修改操作。

p.dist > dist裝置推入priority_queue,二Data之間比較將遵循這一標準後 - 當具有較小dist將出現在第一比Data優先隊列具有較長distData。這聽起來是矛盾的,但這是真的,因爲priority_queue默認是最大堆。

相關問題