📅  最后修改于: 2023-12-03 15:24:58.873000             🧑  作者: Mango
在 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++ 检查列表是否有元素的一些常见方法。需要根据实际情况选择合适的方法来进行判断。