溫馨提示×

vector怎么查找某個元素并刪除

小億
262
2024-01-17 22:54:40
欄目: 編程語言

在C++中,你可以使用std::vectorerase函數(shù)來刪除某個元素。

以下是一個使用erase函數(shù)刪除某個元素的示例:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> myVector = {1, 2, 3, 4, 5};

    int elementToDelete = 3;

    // 查找元素
    auto it = std::find(myVector.begin(), myVector.end(), elementToDelete);

    // 刪除元素
    if (it != myVector.end()) {
        myVector.erase(it);
        std::cout << "Element deleted successfully." << std::endl;
    } else {
        std::cout << "Element not found." << std::endl;
    }

    // 打印剩余元素
    for (int element : myVector) {
        std::cout << element << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上述示例中,我們首先使用std::find函數(shù)來查找指定元素的迭代器。如果元素存在,則使用erase函數(shù)刪除該元素。最后,我們遍歷剩余的元素并將它們打印出來。

請注意,使用erase函數(shù)刪除元素后,后續(xù)元素會向前移動來填補(bǔ)空缺。因此,刪除元素后,原來的迭代器會失效。如果要繼續(xù)使用迭代器,可以通過將erase函數(shù)返回的迭代器作為下一個迭代器使用來避免錯誤。

0