如何在C++ vector中插入和刪除元素

c++
小樊
85
2024-10-16 12:33:09

在C++的vector中插入和刪除元素,可以使用以下方法:

  1. 插入元素:

使用insert()函數(shù)在vector的指定位置插入一個(gè)元素。該函數(shù)接受兩個(gè)參數(shù),一個(gè)是插入位置的索引,另一個(gè)是要插入的元素。例如,假設(shè)有一個(gè)整數(shù)類型的vector,我們想在索引2的位置插入元素5,可以這樣寫(xiě):

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    vec.insert(vec.begin() + 2, 5); // 在索引2的位置插入元素5

    // 輸出vector的內(nèi)容
    for (int i : vec) {
        std::cout<< i << " ";
    }

    return 0;
}

輸出結(jié)果為:1 2 5 3 4 5

  1. 刪除元素:

使用erase()函數(shù)刪除vector中的指定元素。該函數(shù)接受一個(gè)參數(shù),即要?jiǎng)h除元素的索引。例如,假設(shè)有一個(gè)整數(shù)類型的vector,我們想刪除索引為2的元素,可以這樣寫(xiě):

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    vec.erase(vec.begin() + 2); // 刪除索引為2的元素

    // 輸出vector的內(nèi)容
    for (int i : vec) {
        std::cout<< i << " ";
    }

    return 0;
}

輸出結(jié)果為:1 2 4 5

注意:插入和刪除元素時(shí),vector的大小會(huì)相應(yīng)地增加或減少,因此可能會(huì)導(dǎo)致內(nèi)存重新分配。如果需要在插入或刪除元素時(shí)避免內(nèi)存重新分配,可以考慮使用reserve()函數(shù)預(yù)先分配足夠的內(nèi)存空間。

0