vector中特定元素的刪除

2021-08-22 08:08:49 字數 497 閱讀 4244

std::vector沒有直接刪除特定值元素的成員方法。所以必須使用remove演算法:

std::vectorcoll;

...//remove all elements with value val

coll.erase(remove(coll.begin(), coll.end(), val),

coll.end());

remove()返回的是刪除後的尾部迭代器,必須呼叫erase()顯式地刪除其後的元素。

如果僅刪除第乙個特定值元素:

std::vectorcoll;

...//remove first element with value val

std::vector::iterator pos;

pos = find(coll.begin(), coll.end(), val);

if (pos != coll.end())

coll.erase(pos);

金慶的專欄)

vector中的元素刪除

在vector中用迭代器刪除元素會用到erase 函式。這個函式返回的是刪除當前元素後下乙個元素的指標,也就是說在刪除元素後,指標指向刪除元素後面的那個,具體用法參考下面 vector iterator itin inliers.begin vector iterator itm matches.b...

關於STL容器中vector特定元素的刪除問題

問題描述 給定一組整形數,使用vector容器儲存,現在要求刪掉其中值大於某個值的元素。即 初始陣列為,要求刪除其中大於5的元素。這裡使用網上給出的一些方法 錯的 主要參考這裡 vectorprice vector iterator it 1 for it price.begin it price....

如何正確刪除vector中的元素

今天來 c 中的乙個基礎問題。如何正確地刪除vector中符合條件的某元素。比如,有乙個vectornums 要求刪除nums中所有值為2的元素。c 初學者可能很快就寫出 for vector iterator it nums.begin it nums.end it 這段 迴圈遍歷nums中的每個...