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

std::unordered_set::empty

#include <unordered_set>

bool empty() const noexcept;

Kiểm tra xem std::unordered_set 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ề

bool

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

Đặc điểm

  1. Kiểm tra set rỗng: empty() là cách thức chính xác và hiệu quả để kiểm tra xem std::unordered_set có chứa phần tử nào hay không.
  2. noexcept: empty() được đánh dấu là noexcept, nghĩa là nó được đảm bảo không ném ra ngoại lệ nào.
  3. const: empty() là một hàm const, nghĩa là nó không thay đổi trạng thái của std::unordered_set.
  4. Liên quan đến begin()end(): Một std::unordered_set rỗng khi begin()end() (hoặc cbegin()cend()) trả về cùng một giá trị.
  5. Độ phức tạp: O(1) - thời gian hằng số.

Ví dụ

#include <iostream>
#include <unordered_set>

int main() {
std::unordered_set<int> set1;
std::unordered_set<int> set2 = {1, 2, 3};

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

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

// Kiểm tra trước khi thao tác
if (!set2.empty()) {
std::cout << "First element (may not be in order): " << *set2.begin() << '\n';
}

return 0;
}

Các hàm liên quan

clearXóa tất cả các phần tử khỏi std::unordered_set
sizeTrả về số lượng phần tử hiện có trong std::unordered_set