在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,輸出刪除元素后的結果。