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

2021-07-23 05:33:38 字數 556 閱讀 7313

問題描述:

給定一組整形數,使用vector容器儲存,現在要求刪掉其中值大於某個值的元素。

即:初始陣列為,要求刪除其中大於5的元素。

這裡使用網上給出的一些方法(錯的),主要參考這裡

vectorprice = ;

vector::iterator it;

(1) for (it = price.begin(); it != price.end();it++)

(2)for (it = price.begin(); it != price.end();)

else

it++;

}以上兩種方法主要是vector在刪除元素之後迭代器會自動向後移動一位並以此作為返回值,如果直接刪除而沒有利用返回值,原先的it是會訪問錯誤的。下面這一種方法是我自己yy的一種,還好,通過了執行。

int k;

for (k=0; k

}這樣整個過程就只有begin的訪問,不涉及其他,從而逃過了一劫。

for (it = price.begin(); it != price.end();it++)

}

STL中的 vector 容器詳解

vector作為stl提供的標準容器之一,是經常要使用的,有很重要的地位,並且使用起來也是灰常方便。vector又被稱為向量,vector可以形象的描述為長度可以動態改變的陣列,功能和陣列較為相似。實際上更專業的描述為 vector是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫,vec...

STL順序容器 vector

vector是乙個線性順序結構。相當於陣列,但其大小可以不預先指定,並且自動擴 展。它可以像陣列一樣被操作,由於它的特性我們完全可以將vector 看作動態數 組。在建立乙個vector 後,它會自動在記憶體中分配一塊連續的記憶體空間進行資料 儲存,初始的空間大小可以預先指定也可以由vector 預...

STL序列容器 vector

二 vector vector容器是包含 t 型別元素的序列容器,和 array容器相似,不同的是 vector容器的大小可以自動增長,從而可以包含任意數量的元素 因此型別引數 t 不再需要模板引數 n。只要元素個數超出 vector 當前容量,就會自動分配更多的空間。只能在容器尾部高效地刪除或新增...