0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++ vector刪除符合條件元素的編程技巧

電子設(shè)計 ? 2018-09-20 10:03 ? 次閱讀

C++ vector中實際刪除元素使用的是容器vecrot中std::vector::erase()方法。

C++ 中std::remove()并不刪除元素,因為容器的size()沒有變化,只是元素的替換。

1.std::vector::erase()

函數(shù)原型:iterator erase (iterator position);//刪除指定元素

iterator erase (iterator first, iterator last);//刪除指定范圍內(nèi)的元素

返回值:指向刪除元素(或范圍)的下一個元素。(An iterator pointing to the new location of the element that followed the last element erased by the function call. This is the container end if the operation erased the last element in the sequence.)

2.代碼實例

#include
#include
#include
using namespace std;
int out(vector &iVec)
{
for(int i=0;i
cout<
cout<
return 0;
}
int main()
{
vector iVec;
vector::iterator it;
int i;
for( i=0;i<10;i++)
iVec.push_back(i);
cout<<"The Num(old):";out(iVec);
for(it=iVec.begin();it!=iVec.end();)
{
if(*it % 3 ==0)
it=iVec.erase(it); //刪除元素,返回值指向已刪除元素的下一個位置
else
++it; //指向下一個位置
}
cout<<"The Num(new):";out(iVec);
return 0;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C++
    C++
    +關(guān)注

    關(guān)注

    21

    文章

    2085

    瀏覽量

    73302
  • Vector
    +關(guān)注

    關(guān)注

    3

    文章

    53

    瀏覽量

    8522
收藏 人收藏

    評論

    相關(guān)推薦

    c++vector容器

    1.vector容器介紹 ? ? ? 向量(Vector)是一個封裝了動態(tài)大小數(shù)組的順序容器(Sequence Container)。跟任意其它類型容器一樣,它能夠存放各種類型的對象??梢院唵蔚恼J(rèn)為
    的頭像 發(fā)表于 07-13 19:36 ?1285次閱讀
    <b class='flag-5'>c++</b>之<b class='flag-5'>vector</b>容器

    刪除數(shù)組元素

    刪除數(shù)組元素作為條件結(jié)構(gòu)的條件輸入端是怎么回事啊。。。
    發(fā)表于 03-30 15:51

    vector用法總結(jié)(轉(zhuǎn)載)

    ,并且for中的測試比較ix和0。第一次循環(huán)時,由于ix本身就是0,則條件測試失敗,for循環(huán)體一次也不執(zhí)行。關(guān)鍵概念:安全的泛型編程C++程序員習(xí)慣于優(yōu)先選用!=而不是
    發(fā)表于 05-01 15:22

    matlab矩陣如何索引符合特定條件元素?

    matlab 中 如何所以符合特定條件元素,比如 索引大于1的輸出來
    發(fā)表于 11-12 10:52

    Visual C++ 6.0 高級編程 -下載

    Visual C++ 6.0 高級編程,免費下載:全面介紹了Visual C++ 6.0的中高級編程技術(shù),其內(nèi)容主要有:內(nèi)存管理、高級圖形處理、使用Internet、創(chuàng)建多線程程序、創(chuàng)
    發(fā)表于 07-12 15:25 ?0次下載
    Visual <b class='flag-5'>C++</b> 6.0 高級<b class='flag-5'>編程</b> -下載

    編程C C++初學(xué)者+FAQ

    編程C C++初學(xué)者+FAQ
    發(fā)表于 09-06 14:55 ?80次下載

    C++編程思想

    C++編程思想,很好的資料,大家下載看看吧!夠20字了吧,哈哈哈!
    發(fā)表于 11-17 11:38 ?0次下載

    Android C++高級編程----使用NDK

    Android C++高級編程----使用NDK
    發(fā)表于 03-19 11:23 ?3次下載

    C++vector的定義與初始化

    C++中的vector vector(向量)是一種序列式容器,類似于數(shù)組,但比數(shù)組更優(yōu)越。一般來說數(shù)組不能動態(tài)拓展,因此在程序運行的時候不是浪費內(nèi)存,就是造成越界。而vector正好彌
    的頭像 發(fā)表于 02-02 16:41 ?8859次閱讀
    <b class='flag-5'>C++</b>中<b class='flag-5'>vector</b>的定義與初始化

    C++編程調(diào)試秘笈

    C++編程調(diào)試秘笈資料下載。
    發(fā)表于 06-01 15:35 ?14次下載

    CC++經(jīng)典著作-C專家編程.PDF

    CC++經(jīng)典著作-C專家編程.PDF
    發(fā)表于 12-13 17:11 ?0次下載

    CC++實物精選《C專家編程

    CC++實物精選《C專家編程
    發(fā)表于 01-17 09:55 ?0次下載

    C++學(xué)習(xí)筆記之順序容器

    C++中的順序容器是一種用于存儲和管理元素序列的數(shù)據(jù)結(jié)構(gòu)。它們提供了一組有序的元素,并支持在序列的任意位置插入和刪除元素。
    的頭像 發(fā)表于 05-11 17:05 ?506次閱讀

    動態(tài)數(shù)組和C++ std::vector詳解

    std::vectorC++的默認(rèn)動態(tài)數(shù)組,其與array最大的區(qū)別在于vector的數(shù)組是動態(tài)的,即其大小可以在運行時更改。std::vector是封裝動態(tài)數(shù)組的順序容器,且該容器
    的頭像 發(fā)表于 07-19 11:07 ?871次閱讀

    c++怎么開始編程

    C++是一種高級的、通用的編程語言,用于開發(fā)各種類型的應(yīng)用程序。它是從C語言演變而來,也是一種靜態(tài)類型語言,可以在不同的平臺上進(jìn)行開發(fā)。C++具有高度的靈活性和性能,并且廣泛應(yīng)用于游戲
    的頭像 發(fā)表于 11-27 15:56 ?736次閱讀