📜  如果列表有元素,如何检查 c++ (1)

📅  最后修改于: 2023-12-03 15:24:58.873000             🧑  作者: Mango

如何检查 C++ 列表是否有元素

在 C++ 中,可以使用 STL(标准模板库)中的容器来处理列表,其中最常用的是 vector。此外,也可以使用数组来存储数据,但需要手动管理其大小。

无论使用何种容器,检查列表是否有元素都是必须的操作。以下是一些常见的方法。

使用 empty()

在 C++ 中,可以使用 empty() 方法来检查容器是否为空。如果容器中没有元素,则该方法返回 true,否则返回 false。

示例代码:

std::vector<int> v;
if (v.empty()) {
    std::cout << "容器为空" << std::endl;
} else {
    std::cout << "容器不为空" << std::endl;
}

该代码首先创建了一个空 vector。然后,使用 empty() 方法来检查该容器是否为空。由于 vector 中没有任何元素,因此返回 true。

使用 size()

另一个检查容器中是否有元素的方法是使用 size() 方法。该方法返回容器中元素的数量。

示例代码:

std::vector<int> v;
v.push_back(1);
if (v.size() == 0) {
    std::cout << "容器为空" << std::endl;
} else {
    std::cout << "容器不为空,有" << v.size() << "个元素" << std::endl;
}

该代码首先创建了一个 vector,并向其中添加一个元素。然后,使用 size() 方法来检查该容器是否为空。由于 vector 中有一个元素,因此返回 false,并输出元素的数量。

使用迭代器

除了使用 empty()size() 方法外,还可以使用迭代器来检查容器是否为空。如果容器中有元素,则可以使用 begin()end() 方法来获取指向第一个和最后一个元素的迭代器。如果这两个迭代器相等,则说明容器为空。

示例代码:

std::vector<int> v;
auto begin = v.begin();
auto end = v.end();
if (begin == end) {
    std::cout << "容器为空" << std::endl;
} else {
    std::cout << "容器不为空" << std::endl;
}

该代码首先创建了一个空 vector。然后,使用 begin()end() 方法来获取迭代器,并检查它们是否相等。由于 vector 中没有任何元素,因此它们相等,返回 true。

以上是使用 C++ 检查列表是否有元素的一些常见方法。需要根据实际情况选择合适的方法来进行判断。