C++ vector刪除符合條件的元素示例分享
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);//刪除指定范圍內的元素
返回值:指向刪除元素(或范圍)的下一個元素。(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<iostream>
#include<string>
#include<vector>
using namespace std;
int out(vector<int> &iVec)
{
for(int i=0;i<iVec.size();i++)
cout<<iVec[i]<<ends;
cout<<endl;
return 0;
}
int main()
{
vector<int> iVec;
vector<int>::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;
}
您可能感興趣的文章
- 04-02c語言函數(shù)調用后清空內存 c語言調用函數(shù)刪除字符
- 04-02c語言沒有round函數(shù) round c語言
- 01-10深入理解C++中常見的關鍵字含義
- 01-10使用C++實現(xiàn)全排列算法的方法詳解
- 01-10c++中inline的用法分析
- 01-10用C++實現(xiàn)DBSCAN聚類算法
- 01-10全排列算法的非遞歸實現(xiàn)與遞歸實現(xiàn)的方法(C++)
- 01-10C++大數(shù)模板(推薦)
- 01-10淺談C/C++中的static與extern關鍵字的使用詳解
- 01-10深入C/C++浮點數(shù)在內存中的存儲方式詳解


閱讀排行
本欄相關
- 04-02c語言函數(shù)調用后清空內存 c語言調用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調用函數(shù)求fibo C語言調用函數(shù)求
隨機閱讀
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 04-02jquery與jsp,用jquery
- 01-10delphi制作wav文件的方法
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10SublimeText編譯C開發(fā)環(huán)境設置
- 01-10C#中split用法實例總結
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文