01/10/2018, 01:13
Lower_bound/ upper_bound có dùng được cho queue?
Mình mới học về c++, cho mình hỏi lower_bound/ upper_bound có dùng được cho queue không?
Mình cảm ơn.
Bài liên quan
Mình mới học về c++, cho mình hỏi lower_bound/ upper_bound có dùng được cho queue không?
Mình cảm ơn.
Queue của c++ không có public iterator, cũng không thể truy xuất ngẫu nhiên => không dùng upper_bound với lower_bound được.
Nếu bạn thích phiêu lưu thì bạn có thể kế thừa class std::queue rồi lôi iterator ẩn của nó ra, tham khảo: http://stackoverflow.com/questions/1259099/stdqueue-iteration (Edit: coi chừng destructor không chạy)
Hoặc đơn giản là đổi sang dùng deque cho đầy đủ sung túc
@_@ đừng bao giờ kế thừa từ STL container, tại vì nó ko có virtual dtor.
lower_bound, upper_bound đòi hỏi container phải sắp xếp sẵn rồi, vector/deque gì thì cũng phải sắp xếp rồi mới xài chính xác được.
Mà đã sort rồi thì sao gọi là queue (đương nhiên priority_queue là chuyện khác).
Vậy tóm lại thớt muốn làm gì
Là queue được chứ, cứ push theo thứ tự là được thôi.