Vector容器刪除元素

2021-06-18 09:27:30 字數 661 閱讀 6970

使用vector容器也有一段時間了,但是對於他的刪除操作還是有點疑問,今天就總結一下。

vector資料儲存是一段預先分配好大小的記憶體連續的空間,插入資料和刪除資料都會引起後面資料記憶體的整體移動。今天就說說刪除操作吧

1、刪除最後的元素

直接使用pop_back()就可以了,這個沒什麼好說的;

2、刪除指定的元素

使用函式erase(),對於erase的引數是可以是乙個指標(迭代器),也可以是一段指標的範圍(迭代器範圍),返回乙個迭代器,迭代器是指向刪除元素後面的元素。

要刪除指定的元素,一般都是通過find()函式找到指定的元素的迭代器,然後傳給erase(p)

要刪除迭代器範圍,可以通過erase(b,e),刪除b和e內的所有元素,包括b和e,如果e是指向末端元素的下乙個位置,則返回末端的下乙個位置。

3、刪除容器內的所有元素

刪除容器內的所有元素一般是通過clear()函式,或者是把容器的begin和end迭代器傳給erase()。

如果通過for迴圈乙個個刪除,則需要注意迭代器的位置,因為erase是返回指向下個元素的位置。

而且每刪除一次容器,容器的記憶體中元素的值都發生變化,比如你刪除容器:中的c,則返回的迭代器指向的值是e。

vector 之刪除元素

刪除指定位置的元素 刪除vector中第5個位置的元素 1 vector vec 執行vector初始化操作 2 vector iterator iter vec.begin 5 獲取第五個元素的iterator 3 vec.erase iter 刪除第五個元素 刪除重複元素 刪除vector中的重...

vector向量容器的刪除

erase 方法可以刪除vector中迭代器所指的乙個元素或一段區間中所有元素。clear 方法則一次性刪除vector中所有的元素。include includeusing namespace std int main int argc,char argv v.erase v.begin 2 刪除...

Vector 容器快速刪除方法

vector是乙個向量容器,在c 開發中經常會使用到,vector本身自帶的刪除函式有 如果要刪除vector中指定的元素,則可以使用 erase函式,該函式可以刪除乙個迭代器指向的元素或者乙個迭代器區間的元素,但是該函式執行過程中每被刪除乙個元素,則指定迭代器就會失效,並且該迭代器之後的元素都要進...