溫馨提示×

c++中怎么使用set刪除特定位置元素

c++
小億
193
2024-03-13 16:40:49
欄目: 編程語言

在C++中,set是一種有序且不重復(fù)的集合容器,不支持直接通過下標(biāo)訪問或刪除元素。如果想刪除特定位置的元素,可以先使用迭代器定位到該位置,然后再調(diào)用set的erase()方法刪除該元素。

以下是一個(gè)示例代碼:

#include <iostream>
#include <set>

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

    int position = 2; // 要刪除第3個(gè)位置的元素

    if(position < mySet.size()) {
        auto it = mySet.begin();
        std::advance(it, position);
        mySet.erase(it);

        for(auto num : mySet) {
            std::cout << num << " ";
        }
        std::cout << std::endl;
    } else {
        std::cout << "Position out of range." << std::endl;
    }

    return 0;
}

在這個(gè)例子中,我們首先定義了一個(gè)set,并初始化了一些元素。然后我們指定要刪除的位置為第3個(gè)位置(位置從0開始計(jì)數(shù))。通過advance()函數(shù)將迭代器it移動到指定位置,然后調(diào)用erase()方法刪除該元素。最后,遍歷整個(gè)set,輸出刪除元素后的結(jié)果。

0