vector怎么刪除第n個(gè)元素

小億
200
2024-01-17 20:54:41
欄目: 編程語言

要?jiǎng)h除一個(gè)vector中的第n個(gè)元素,可以使用C++的erase()函數(shù)。該函數(shù)需要兩個(gè)參數(shù),第一個(gè)參數(shù)是一個(gè)迭代器,指向要?jiǎng)h除的元素,第二個(gè)參數(shù)是一個(gè)迭代器,指向要?jiǎng)h除范圍的下一個(gè)位置。

下面是一個(gè)示例代碼,演示如何刪除vector中的第n個(gè)元素:

#include <iostream>
#include <vector>

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

    int n = 3; // 要?jiǎng)h除的第n個(gè)元素

    if (n >= 1 && n <= vec.size()) { // 確保n的值在合法范圍內(nèi)
        vec.erase(vec.begin() + n - 1); // 刪除第n個(gè)元素
        std::cout << "刪除成功!" << std::endl;
    } else {
        std::cout << "刪除失敗,索引無效!" << std::endl;
    }

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

    return 0;
}

在上述示例代碼中,我們首先定義了一個(gè)包含5個(gè)元素的vector。然后,指定要?jiǎng)h除的第n個(gè)元素(這里為3),并進(jìn)行合法性檢查。如果n的值在合法范圍內(nèi),我們使用erase()函數(shù)刪除第n個(gè)元素。最后,我們輸出刪除后的vector。

輸出結(jié)果為:

刪除成功!
1 2 4 5

可以看到,第3個(gè)元素(值為3)已經(jīng)被成功刪除,vector中的元素?cái)?shù)量減少了一個(gè)。

0