vectorのn番目の要素を削除する方法は?

C++のerase()関数を使えば、vectorのn番目の要素を削除することができます。この関数には2つの引数が必要で、最初の引数は削除する要素を指すイテレータであり、2番目の引数は削除する範囲の次の位置を指すイテレータです。

以下是一个示例代码,展示如何删除vector中的第n个元素:

#include <iostream>
#include <vector>

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

    int n = 3; // 要删除的第n个元素

    if (n >= 1 && n <= vec.size()) { // 确保n的值在合法范围内
        vec.erase(vec.begin() + n - 1); // 删除第n个元素
        std::cout << "删除成功!" << std::endl;
    } else {
        std::cout << "删除失败,索引无效!" << std::endl;
    }

    // 输出删除后的vector
    for (int num : vec) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

上記の例では、最初に5つの要素を含むベクトルを定義します。次に、削除するn番目の要素(ここでは3)を指定し、妥当性チェックを行います。nの値が妥当な範囲内にある場合、erase()関数を使用してn番目の要素を削除します。最後に、削除後のベクトルを出力します。

結果は以下の通りです:

删除成功!
1 2 4 5

3番目の要素(値が3)が正常に削除され、ベクトル内の要素数が1つ減少しました。

bannerAds