要刪除一個vector中的第n個元素,可以使用C++的erase()函數。該函數需要兩個參數,第一個參數是一個迭代器,指向要刪除的元素,第二個參數是一個迭代器,指向要刪除范圍的下一個位置。
下面是一個示例代碼,演示如何刪除vector中的第n個元素:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
int n = 3; // 要刪除的第n個元素
if (n >= 1 && n <= vec.size()) { // 確保n的值在合法范圍內
vec.erase(vec.begin() + n - 1); // 刪除第n個元素
std::cout << "刪除成功!" << std::endl;
} else {
std::cout << "刪除失敗,索引無效!" << std::endl;
}
// 輸出刪除后的vector
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
在上述示例代碼中,我們首先定義了一個包含5個元素的vector。然后,指定要刪除的第n個元素(這里為3),并進行合法性檢查。如果n的值在合法范圍內,我們使用erase()函數刪除第n個元素。最后,我們輸出刪除后的vector。
輸出結果為:
刪除成功!
1 2 4 5
可以看到,第3個元素(值為3)已經被成功刪除,vector中的元素數量減少了一個。