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

avatar
作者
筋斗云
阅读量: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,输出删除元素后的结果。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!