c++ vector中實際刪除元素使用的是容器vector中std::vector::erase()
方法,而std::remove()
並不刪除元素,因為容器的size()沒有變化,只是元素的替換。
std::vector::erase()
函式原型:
iterator erase (iterator position); //刪除指定元素
iterator erase (iterator first, iterator last); //刪除指定範圍內的元素
示例:
刪除vector陣列(0-99)中10的倍數,**如下:
#include
"stdafx.h"
#include
#include
using
namespace std;
intmain
(int argc,
char
* ar**)
cout << endl <<
"刪除vector陣列中10的倍數..."
<< endl << endl;
for(i =
0; i < size;
++i)
} size = vec.
size()
; cout <<
"vector's length = "
<< size << endl;
for(i =
0; i < size;
++i)
system
("pause");
return0;
}
輸出結果: C vector中刪除元素
vector中刪除指定元素 刪除指定元素 vectorv printf v size d n v.size 單獨使用remove只代表移除元素,vector總大小還是原來大小,5 6為要刪除的元素 remove v.begin v.end 5 remove v.begin v.end 6 erase...
C vector容器刪除操作
1.vector pop back 刪除vector的最後乙個元素,vector的大小減一,刪了的元素被銷毀。2.vector erase iterator erase iterator position iterator erase iterator first,iterator last 這個刪...
C vector 和 map的刪除
序列容器的erase方法返回值是指向緊接在被刪除元素之後的元素的有效迭代器,可以根據這個返回值來安全刪除元素。vectorc for vector iterator it c.begin it c.end 關聯容器的 erase 方法沒有返回值,被刪除的迭代器失效,所以刪除前必須確保能得到下乙個迭代...