c++删除容器中的奇数

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介:

出自

c++ primer(4th)282页,26题

题意

数组ia[]={0,1,1,2,3,5,8,13,21,55,89};把ia复制到一个list容器中。使用单个迭代器参数版本的erase()函数将list容器中的奇数元素值删掉。

代码

复制代码
#include <iostream>
#include <list>
using namespace std;
int main()
{
    int ia[] = {0,1,1,2,3,5,8,13,21,55,89};
    list<int> ilist(ia, ia+11);
    list<int>::iterator beg = ilist.begin();
    for(;beg!=ilist.end();)
    {
        cout << *beg << " " << *beg % 2 << endl;
        if(1 == (*beg % 2))
            beg = ilist.erase(beg);
        else
            ++beg;
    }
    for(beg=ilist.begin(); beg!=ilist.end(); beg++)
        cout << "UU:" << *beg << endl;
    cout << ilist.size() << endl;
}
复制代码

说明几点
1. 指针就是迭代器

2.容器初始化的一种方式就是:C c(beg, end)——C为容器类型名如,list;c为自己建立的容器名,如ilist;beg,end为容器的初始迭代器(复制不包括end所指元素)

3. 删除操作 ilist.erase(beg)——删除beg迭代器指向的元素,返回一迭代器,指向被删除元素后面的元素





本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/3175788.html,如需转载请自行联系原作者

相关文章
|
25天前
|
C++ 容器
C++中自定义结构体或类作为关联容器的键
C++中自定义结构体或类作为关联容器的键
28 0
|
27天前
|
C++ 容器
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树
23 5
|
25天前
|
存储 C++ 索引
|
2月前
|
存储 C++ 容器
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
41 5
|
23天前
|
安全 编译器 容器
C++STL容器和智能指针
C++STL容器和智能指针
|
25天前
|
存储 缓存 NoSQL
【C++】哈希容器
【C++】哈希容器
|
27天前
|
关系型数据库 C++ 容器
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——红黑树
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——红黑树
22 0
|
2月前
|
安全 程序员 C++
C++一分钟之-C++中的并发容器
【7月更文挑战第17天】C++11引入并发容器,如`std::shared_mutex`、`std::atomic`和线程安全的集合,以解决多线程中的数据竞争和死锁。常见问题包括原子操作的误用、锁的不当使用和迭代器失效。避免陷阱的关键在于正确使用原子操作、一致的锁管理以及处理迭代器失效。通过示例展示了如何安全地使用这些工具来提升并发编程的安全性和效率。
29 1
|
2月前
|
存储 C++ 索引
|
2月前
|
存储 C++ 容器
下一篇
DDNS