Chuyển tới nội dung chính

std::priority_queue::empty

#include <queue>

bool empty() const;

Kiểm tra xem std::priority_queue có rỗng hay không, tức là không chứa bất kỳ phần tử nào.

Tham số

Không có tham số

Giá trị trả về

  • Trả về true nếu std::priority_queue rỗng (không có phần tử nào), false nếu std::priority_queue không rỗng (có ít nhất một phần tử).

Đặc điểm

  1. Kiểm tra priority_queue rỗng: empty() là cách thức chính xác và hiệu quả để kiểm tra xem std::priority_queue có chứa phần tử nào hay không.
  2. const: empty() là một hàm const, nghĩa là nó không thay đổi trạng thái của std::priority_queue.
  3. Dựa trên underlying container: empty() của std::priority_queue thực chất gọi hàm empty() của underlying container (ví dụ: std::vector mặc định).
  4. Không ném ngoại lệ: Hàm empty() được quy định không ném ra ngoại lệ.
  5. Độ phức tạp: O(1) - thời gian hằng số.

Ví dụ

#include <iostream>
#include <queue>

int main() {
std::priority_queue<int> pq1;
std::priority_queue<int> pq2;
pq2.push(1);
pq2.push(2);

if (pq1.empty()) {
std::cout << "pq1 is empty\n"; // Output: pq1 is empty
}

if (!pq2.empty()) {
std::cout << "pq2 is not empty\n"; // Output: pq2 is not empty
std::cout << "Top element of pq2: " << pq2.top() << '\n'; // Access top element only if not empty
}

return 0;
}

Các hàm liên quan

sizeTrả về số lượng phần tử hiện có trong std::priority_queue