练习9.25

如果elem1和elem2相等,则什么都不会发生,因为elem1是要删除的第一个元素,而elem2是删除最后一个元素的后一个位置,所以什么都不会发生;

如果elem2是尾后迭代器,那么删除的是elem1到容器尾所有元素;

如果皆为尾后迭代器,仍然什么都不会发生。

练习9.26

 1 #include <iostream>
 2 #include <vector>
 3 #include <list>
 4 #include <deque>
 5 #include <string>
 6 #include <iterator>
 7
 8 using namespace std;
 9
10
11 int main()
12 {
13     int ia[] = { 0,1,1,2,3,5,8,13,21,55,89 };
14     vector<int> v;
15     list<int> l;
16     for (auto c : ia)
17     {
18         v.push_back(c);
19         l.push_back(c);
20     }

    //int ia[] = {0,1,1,2,3,5,8,13,21,55,89};         //vector<int> ivec(ia,end(ia));          //list<int> ilist(ivec.begin(),ivec.end());             //这种复制方法更简单,效率更高
21     for (auto it = v.begin(); it != v.end();)
22     {
23         if ((*it) % 2 == 0)
24             it = v.erase(it);
25         else
26             ++it;
27     }
28     for (auto it1 = l.begin(); it1 != l.end();)
29     {
30         if ((*it1) % 2 != 0)
31             it1 = l.erase(it1);
32         else
33             ++it1;
34     }
35     for (auto c : v)
36         cout << c << endl;
37     cout << endl;
38     for (auto c : l)
39         cout << c << endl;
40     system("pause");
41     return 0;
42 }

转载于:https://www.cnblogs.com/wuyinfenghappy/p/7340055.html

C++primer 9.3.3节练习相关推荐

  1. C++primer 9.2.1节练习

    练习9.3 迭代器begin和end必须指向相同的容器,end可以与begin指向相同的位置,但不能指向begin之前的位置: 练习9.4 1 #include <iostream> 2 ...

  2. C++primer 10.2.1节练习

    练习10.3 1 #include<iostream> 2 #include<string> 3 #include<vector> 4 #include <s ...

  3. C++primer 13.1.6节练习

    练习13.18 1 #include <iostream> 2 #include <string> 3 #include <memory> 4 5 using na ...

  4. 《C++ Primer》10.1节练习

    练习10.1: #include <iostream> #include <vector> #include <algorithm> using namespace ...

  5. 《C++ Primer》14.4节练习(部分)

    练习14.20: class Sales_data {friend Sales_data operator+(const Sales_data &lhs,const Sales_data &a ...

  6. 《C++ Primer》14.3节练习

    练习14.13: 对于Sales_data类,其实我们并不需要再为它添加其他算术运算符.但是这里我们可以考虑为它实现一个减法运算符. class Sales_data {friend Sales_da ...

  7. 《C++ Primer》14.1节练习

    练习14.1: 不同点: 重载操作符必须具有至少一个class或枚举类型的操作数. 重载操作符不保证操作数的求值顺序,例如对&&和||的重载版本不再具有"短路求值" ...

  8. 《C++ Primer》7.4节练习

    练习7.33: 题目代码: pos Screen::size()const {return height*width; } 如果添加如题目所示的size函数将会出现编译错误.因为该函数的返回类型pos ...

  9. 《C++ Primer》7.2节练习

    练习7.16: 在类的定义中,可以包含0个或者多个访问说明符,并且对于某个访问说明符能出现多少次以及能出现在哪里都没有严格规定.每个访问说明符指定接下来的成员的访问级别,有效范围直到出现下一个访问说明 ...

  10. 《C++ Primer》1.51节练习

    练习1.20 #include <iostream> #include "Sales_item.h" using namespace std;int main() {S ...

最新文章

  1. 8086逻辑运算和移位
  2. C#对Microsoft.VisualBasic My对象兰台妙选
  3. oracle表参数,Oracle 表的创建 及相关参数
  4. java类的实现程序_java – 如何在另一个类中实现处理程序?
  5. 【华为云技术分享】云图说 | Dubbo框架应用也可以使用Istio服务网格
  6. html页面锁屏,锁屏页面.html
  7. UVA 644 - Immediate Decodability
  8. 转 Linux调优方案,sysctl.conf的设置
  9. 【LeetCode】【字符串】题号:*539. 最小时间差
  10. (转)资产管理和财富管理的区别
  11. 电影票预售系统1.0
  12. 信庭嵌入式工作室-ARM应用技术之体系结构应用(中)
  13. #前端# 万字总结!前端项目化超详细方法及思路!
  14. UT-Exynos4412 三星ARM四核旗舰开发平台android4.0体验-5联通3G功能调试支持
  15. 设备跟服务器对接需要什么文档,『OneNET设备云平台』云平台对接服务_智能设备...
  16. leetcode-Ugly系列
  17. 网友随记 - 祝福Jerry Wang 早日康复
  18. 《中国历代政治得失》读书笔记
  19. proe5.0管道管线设计教程
  20. Photoshop cc 2018基础

热门文章

  1. (译)如何优化cocos2d程序的内存使用和程序大小:第二部分(完)
  2. nyromodal 非常棒的弹出层,可内嵌各种文件
  3. ICCV2021- 牛津大学新的预训练视频文本数据集WebVid-2M,设计用于端到端检索的联合视频和图像编码器!代码已开源!...
  4. 【EISCI征稿中】上海 · 首届长三角人工智能产业发展论坛AINIT2020
  5. Mobile-LPR——面向移动端的准商业级车牌识别库
  6. 机器学习中数据清洗预处理入门完整指南
  7. java rabbitmq 并发_RabbitMQ消息中间件 高级篇二 高并发情况下保障消息投递可靠性...
  8. java stringutils api_StringUtils工具类常用api 转
  9. 道友们,听说你们书荒啦?十几万本够吗?用python几步就可爬取
  10. css倒序循环,不借助后台和 JS ,只用 CSS 让一个列表编号倒序