📜  如果向量包含值 c++ (1)

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

如果向量包含值 - C++

在C++中,向量是一种非常有用的数据结构,经常被用来作为数组的替代品。一个向量可以包含任意类型的元素,同时也可以动态地调整它们的大小。

如何检查向量中是否存在一个值?

在C++中,可以使用 std::find 算法来查找向量中是否存在一个值。 std::find 算法接受两个参数:第一个参数是一个迭代器指向向量的开始,第二个参数是一个迭代器指向向量的结束。它还接受一个额外的参数,该参数是要查找的值。

以下是一个使用 std::find 算法查找向量中是否包含一个值的示例:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> vec {1, 2, 3, 4, 5};
    int val = 3;
    auto result = std::find(vec.begin(), vec.end(), val);
    if (result == vec.end()) {
        std::cout << "Value not found in vector.\n";
    } else {
        std::cout << "Value found in vector.\n";
    }
    return 0;
}

如果向量中包含值,在控制台输出将是:

Value found in vector.

如果向量中不包含该值,则输出将是:

Value not found in vector.
如何计算向量中特定值的出现次数?

在C++中,可以使用 std::count 算法来计算向量中特定值的出现次数。 std::count 算法接受两个参数:第一个参数是一个迭代器指向向量的开始,第二个参数是一个迭代器指向向量的结束。它还接受一个额外的参数,该参数是要计算出现次数的值。

以下是一个使用 std::count 算法计算向量中特定值的出现次数的示例:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> vec {1, 2, 3, 4, 5, 3, 3};
    int val = 3;
    int count = std::count(vec.begin(), vec.end(), val);
    std::cout << "Value " << val << " appears " << count << " times in vector.\n";
    return 0;
}

输出将是:

Value 3 appears 3 times in vector.
总结

在本文中,我们学习了如何使用 std::findstd::count 算法来检查向量中是否存在特定的值,以及计算向量中特定值的出现次数。这些是使用向量进行搜索的基础知识,有助于您更好地了解C ++向量和算法。