vector怎么查找某個(gè)元素的下標(biāo)

小億
420
2023-12-16 17:05:43
欄目: 編程語言

在C++中,可以使用std::find()函數(shù)來查找某個(gè)元素的下標(biāo)。

首先,需要包含頭文件<vector>。

然后,創(chuàng)建一個(gè)vector,并初始化。

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

int main() {
    std::vector<int> vec = {10, 20, 30, 40, 50};

    int element = 30;

    auto itr = std::find(vec.begin(), vec.end(), element);

    if (itr != vec.end()) {
        int index = std::distance(vec.begin(), itr);
        std::cout << "Element found at index: " << index << std::endl;
    } else {
        std::cout << "Element not found" << std::endl;
    }

    return 0;
}

在上述代碼中,使用std::find()函數(shù)來查找元素30在vector中的位置。如果找到了該元素,返回一個(gè)指向該元素的迭代器,否則返回vector的末尾迭代器vec.end()。

然后,通過std::distance()函數(shù)計(jì)算得到迭代器itr與vector起始位置之間的距離,即為元素的下標(biāo)。

最后,根據(jù)下標(biāo)輸出結(jié)果。

輸出結(jié)果為:

Element found at index: 2

如果要查找的元素不在vector中,輸出結(jié)果為:

Element not found

0