c 刪除容器中的奇數

2021-09-06 10:47:26 字數 756 閱讀 9630

出自

c++ primer(4th)282頁,26題

題意

陣列ia=;把ia複製到乙個list容器中。使用單個迭代器引數版本的erase()函式將list容器中的奇數元素值刪掉。

**

#include #include 

using

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中唯一乙個保證記憶體連續的容器,也是我們最常用的容器...