出自
c++ primer(4th)282頁,26題
題意
陣列ia=;把ia複製到乙個list容器中。使用單個迭代器引數版本的erase()函式將list容器中的奇數元素值刪掉。
**
#include #includeusing
namespace
std;
intmain()
; list
ilist(ia, ia+11
); list
::iterator beg =ilist.begin();
for(;beg!=ilist.end();)
for(beg=ilist.begin(); beg!=ilist.end(); beg++)
cout
<< "
uu:"
<< *beg
<< ilist.size() <}
說明幾點
1. 指標就是迭代器
2.容器初始化的一種方式就是:c c(beg, end)——c為容器型別名如,list;c為自己建立的容器名,如ilist;beg,end為容器的初始迭代器(複製不包括end所指元素)
3. 刪除操作 ilist.erase(beg)——刪除beg迭代器指向的元素,返回一迭代器,指向被刪除元素後面的元素
從陣列中刪除奇數元素
include include include 要求 從很大的陣列中刪除刪除某些特定的元素 思路 由於是陣列,不要嘗試直接刪除,否則會導致大量記憶體拷貝,最好的方法就是元素交換 從很大的陣列中刪除奇數元素 void remove cardinal std vector vec vec.resize ...
C 中的map容器的刪除 插入 遍歷
include include include include using namespace std struct display intmain else 使用迭代器完成遍歷 for iter scores.begin iter scores.end iter 把scores值小於90的鍵值對刪...
C 順序容器和關聯容器的刪除
乙個合格的容器 container 必須支援增刪改查,c 的順序容器和關聯容器也不例外。不同於insert和search,erase操作涉及到多種情況,尤其是和迭代器相結合的時候。本文總結常用c 常用容器的erase的正確做法。vector是stl中唯一乙個保證記憶體連續的容器,也是我們最常用的容器...