[問題] priority_queue內容物比較
各位大大好
我在閱讀到C++ STL priority_queue書中 對於內容物比較不是很懂
struct Book {
int QNum, Time;
bool operator < (const book& a) const
{
return Time > a.Time|| (Time == a.Time && QNum > a.QNum);
}
};
int main()
{
priority_queue<Book> pq;
Book i,j,k;
i.QNum = 2002;
i.Time = 5;
pq.push(i);
j.QNum = 2002;
j.Time = 7;
pq.push(j);
k.Time = 3;
k.QNum = 2002;
pq.push(k);
}
這程式結果是 Time小的會得到優先順序
比較想不清楚處的是運算子多載(operator <)這個函數
bool operator < (const book& a) const
{
return Time > a.Time|| (Time == a.Time && QNum > a.QNum);
}
我的解讀是:
若是原本的book中的Time 大於 輸入的book中的Time(a.Time)則回傳true
則回傳值和operator < 的相互關係的如何?
感謝各位大大回答!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.180.68.2
→
04/14 18:05, , 1F
04/14 18:05, 1F
→
04/14 18:06, , 2F
04/14 18:06, 2F
→
04/14 18:12, , 3F
04/14 18:12, 3F
→
04/14 18:13, , 4F
04/14 18:13, 4F
→
04/14 18:14, , 5F
04/14 18:14, 5F
→
04/14 18:14, , 6F
04/14 18:14, 6F
※ 編輯: rtt2008 來自: 175.180.68.2 (04/14 18:19)
→
04/14 18:21, , 7F
04/14 18:21, 7F
→
04/14 18:22, , 8F
04/14 18:22, 8F
→
04/14 19:07, , 9F
04/14 19:07, 9F