std::priority_queue::top
#include <queue>
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.
const_reference top() const;
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 |