std::priority_queue::top
#include <queue>
const_reference top() const;
Trả về tham chiếu đến phần tử có độ ưu tiên cao nhất trong std::priority_queue. Trong std::priority_queue mặc định (max-heap), đây là phần tử lớn nhất.
Tham số
Không có tham số
Giá trị trả về
- Trả về một tham chiếu hằng (chỉ đọc) đến phần tử có độ ưu tiên cao nhất trong std::priority_queue.
Đặc điểm
- Truy cập phần tử ưu tiên cao nhất:
top()
cung cấp cách thức nhanh chóng và tiện lợi để truy cập phần tử có độ ưu tiên cao nhất của std::priority_queue. - Tham chiếu hằng:
top()
trả về tham chiếu hằng, nghĩa là bạn không thể thay đổi giá trị của phần tử có độ ưu tiên cao nhất thông qua tham chiếu này. - const:
top()
là một hàmconst
, nghĩa là nó không thay đổi trạng thái của std::priority_queue. - Hành vi không xác định khi queue rỗng: Gọi
top()
trên một std::priority_queue rỗng sẽ dẫn đến hành vi không xác định (undefined behavior). Bạn nên kiểm traempty()
trước khi gọitop()
. - Không làm thay đổi priority_queue: Gọi
top()
không làm thay đổi cấu trúc, kích thước hay các phần tử khác của std::priority_queue. - Dựa trên underlying container và hàm so sánh:
top()
của std::priority_queue dựa trên cách tổ chức dữ liệu của underlying container và hàm so sánh được sử dụng để xác định phần tử có độ ưu tiên cao nhất. - Độ phức tạp:
O(1)
- thời gian hằng số.
Ví dụ
#include <iostream>
#include <queue>
int main() {
std::priority_queue<int> mypq;
mypq.push(10);
mypq.push(30);
mypq.push(20);
// Truy cập và in ra phần tử có độ ưu tiên cao nhất
std::cout << "Top element: " << mypq.top() << '\n'; // Output: Top element: 30
return 0;
}
Các hàm liên quan
pop | Xóa phần tử có độ ưu tiên cao nhất (phần tử ở đỉnh) của std::priority_queue |
push | Thêm một phần tử mới vào std::priority_queue |