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