阅读量:0
在C++中,set是一种有序且不重复的集合容器,不支持直接通过下标访问或删除元素。如果想删除特定位置的元素,可以先使用迭代器定位到该位置,然后再调用set的erase()方法删除该元素。
以下是一个示例代码:
#include <iostream> #include <set> int main() { std::set<int> mySet = {1, 2, 3, 4, 5}; int position = 2; // 要删除第3个位置的元素 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; }
在这个例子中,我们首先定义了一个set,并初始化了一些元素。然后我们指定要删除的位置为第3个位置(位置从0开始计数)。通过advance()函数将迭代器it移动到指定位置,然后调用erase()方法删除该元素。最后,遍历整个set,输出删除元素后的结果。