vector 刪除元素的幾種方式

2021-09-29 02:18:53 字數 972 閱讀 2054

//vector 刪除元素方式

#include #include #include using namespace std;

int main(int argc, char const *ar**)

//第一種 刪除5元素

// auto it = std::find(vec.begin(), vec.end(), 5);

// vec.erase(it);

// for_each(vec.begin(), vec.end(), (int v));

//第二種 刪除5元素

// vec.erase(vec.begin()+5);

// for_each(vec.begin(), vec.end(), (int v) );

//第三種 刪除5元素

// for(auto it = vec.begin(); it != vec.end();)

// // else

//

// }

// for_each(vec.begin(), vec.end(), (int v) );

//第四種 刪除5元素

vec.emplace_back(5);

vec.emplace_back(5);

auto it = std::find(vec.begin(), vec.end(), 5);

while (it != vec.end())

for_each(vec.begin(), vec.end(), (int v) );

return 0;

}

第四種是刪除多個重複元素最好的方法。

正確釋放乙個vector方式

std::vectortmp;

vec.swap(tmp);

cout << vec.capacity() << endl;

vector中的元素刪除

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

vector刪除連續的元素

這個是在一次面試時候問的,刪除vector中的乙個指定元素 剛開始是這樣的,刪除vector中的乙個等於target的元素,我一想不就是這個,多簡單,上手就是寫個這。結果,我艹直接死迴圈 一臉尷尬,多麼簡單的題 然後調了一會,沒調出來 我是忽略了erase的返回值了,erase返回刪除當前元素的下乙...

Vector容器刪除元素

使用vector容器也有一段時間了,但是對於他的刪除操作還是有點疑問,今天就總結一下。vector資料儲存是一段預先分配好大小的記憶體連續的空間,插入資料和刪除資料都會引起後面資料記憶體的整體移動。今天就說說刪除操作吧 1 刪除最後的元素 直接使用pop back 就可以了,這個沒什麼好說的 2 刪...