C vector刪除元素

2021-10-01 23:01:51 字數 885 閱讀 2734

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 方法沒有返回值,被刪除的迭代器失效,所以刪除前必須確保能得到下乙個迭代...