p99~p101:

1、迭代器的指向:容器内的元素或者尾元素的下一位。

2、迭代器与整数相加减返回值为移动了若干位置的迭代器。

3、迭代器间相加减返回值则是类型为 difference_type 的带符号整数。

4、使用迭代器运算的一个经典算法是二分搜索。

(注:字典序实际是按照ASCII来排的,具体如下:

0-9(对应数值48-59);A-Z(对应数值65-90);a-z(对应数值97-122);因此,按照从小到大排序,大写总是排在前面

#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include<vector>
using std::vector;
#include<string>
using std::string;
int main()
{
// 定义一个有序的vector<string>
vector<string> svec{"Abigal", "Baey", "Candice",
"DAISY", "EILEEN", "FREDERICA", "GINA"};
// 输入要查找的名字
string name;
cin >> name;
// 二分搜索
auto beg = svec.begin(), end = svec.end();
auto mid = svec.begin() + (end - beg)/;
while (mid != end && *mid != name) {
if (name < *mid) {
end = mid;
} else {
beg = mid + ;
}
mid = beg + (end - beg)/2;
}
if (*mid == name) {
cout << mid - svec.begin() << endl;
} else {
cout << "Not found!" << endl;
}
return ;
}

练习3.24

1

#include<iostream>
using std::cin;
using std::cout;
using std::endl;
#include<vector>
using std::vector;int main()
{
int temp;
vector<int> v;
while(cin >> temp) {
v.push_back(temp);
}
// 用迭代器遍历、访问元素
for(auto it = v.cbegin();
it != v.cend() - ; ++it) {
cout << *it + *(it + ) << endl;
}
return ;
}

2

#include<iostream>
using std::cin;
using std::cout;
using std::endl;
#include<vector>
using std::vector;int main()
{
int temp;
vector<int> v;
while(cin >> temp) {
v.push_back(temp);
}
// 用迭代器遍历、访问元素
auto head = v.cbegin();
auto tail = v.cend() - ;
for( ; head <= tail; ++head, --tail) {
cout << *head + *tail << endl;
}
return ;
}

练习3.25

#include<iostream>
using std::cin;
using std::cout;
using std::endl;
#include<vector>
using std::vector;
int main()
{
vector<unsigned> score(, );
unsigned grade;
auto ind = score.begin();
while (cin >> grade) {
if (grade <= )
++*(ind + grade/);
}
for (auto i: score) {
cout << i << endl;
}
return ;
}

练习3.26

迭代器间不支持加法运算。(参考99页)

c++第十六天的更多相关文章

  1. javaSE第二十六天

    第二十六天    414 1:网络编程(理解)    414 (1)网络编程:用Java语言实现计算机间数据的信息传递和资源共享    414 (2)网络编程模型    414 (3)网络编程的三要素 ...

  2. javaSE第十六天

    第十六天    140 1:List的子类(掌握)    140 (1)List的子类特点    140 (2)ArrayList    141 A:没有特有功能需要学习    141 B:案例    ...

  3. 第三百五十六天 how can I 坚持

    一年了,三百五十六天.写个算法算下对不对. 今天突然想买辆自行车了.云马智行车,还是捷安特,好想买一辆. 网好卡.貌似少记了一天呢,357了.好快. 睡觉了,还没锻炼呢,太晚了. 1458748800 ...

  4. IT第二十六天 - Swing、上周总结

    IT第二十六天 上午 Swing 1.对于方法的参数如果是int数值类型,应该直接调用该类中的常量属性,而不应该直接填入数字 2.Toolkit类中定义的方法是可以直接访问本地计算机(操作系统)信息的 ...

  5. Python第二十六天 python装饰器

    Python第二十六天 python装饰器 装饰器Python 2.4 开始提供了装饰器( decorator ),装饰器作为修改函数的一种便捷方式,为工程师编写程序提供了便利性和灵活性装饰器本质上就 ...

  6. OCM_第十六天课程:Section7 —》GI 及 ASM 安装配置 _安装 GRID 软件/创建和管理 ASM 磁盘组/创建和管理 ASM 实例

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  7. 孤荷凌寒自学python第八十六天对selenium模块进行较详细的了解

    孤荷凌寒自学python第八十六天对selenium模块进行较详细的了解 (今天由于文中所阐述的原因没有进行屏幕录屏,见谅) 为了能够使用selenium模块进行真正的操作,今天主要大范围搜索资料进行 ...

  8. 孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6

    孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 不过由于对python-docx模 ...

  9. 孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5

    孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5并学习权限设置 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十二天. 今天继续学习mongo ...

  10. 孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库

    孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第二 ...

随机推荐

  1. OSS命令行工具ossutil

    ossutil工具旨在为您提供一个以命令行方式管理OSS数据的途径.当前版本未提供完整的Bucket和Multipart管理功能,相关功能会在后续版本中开发.如果您需要使用上述功能,建议先使用ossc ...

  2. php里面向指定的页面提交数据

    在jquery里用 load post 等等,无法得到我想要的结果!于是突然-----这几天想的东西都白想了,现在只好这样了 现在想在php里面向指定的页面提交数据,应该有,还可以有返回值 于是找了这 ...

  3. 51nod 1432 - 独木舟 - [贪心]

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1432 基准时间限制:1 秒 空间限制:131072 KB   ...

  4. 七种RAID技术

    想把好多硬盘组在一起使用的基本方式为:连接所有硬盘,先向第一个硬盘中写数据,满了之后,再向第二个硬盘上写数据,如此只是简单的连通了多个硬盘. 再此基础上发展了RAID技术:由独立磁盘组成的具有冗余特性 ...

  5. PyQT5初学(一)

    PyQt5 是Digia的一套Qt5与python绑定的应用框架,同时支持2.x和3.x.本教程使用的是3.x.Qt库由Riverbank Computing开发,是最强大的GUI库之一 ,官方网站: ...

  6. 【技术分享】Java 序列化与反序列化安全分析

    唯品会安全应急响应中心 https://mp.weixin.qq.com/s?src=11&timestamp=1546915765&ver=1317&signature=mW ...

  7. 逆向基础(一) | WooYun知识库

    逆向基础(一) | WooYun知识库               逆向基础(一) | WooYun知识库 逆向基础(一)   View on drops.wooyun... Preview by Y ...

  8. models语言中filter和all取数据有什么区别

    转自:http://www.bubuko.com/infodetail-1882394.html rs=Person.objects.all() all返回的是QuerySet对象,程序并没有真的在数 ...

  9. (四)Web应用开发---新增对象Master类别

    UI设计类似如下形式 Copy如下Html代码到新创建的Html <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xh ...

  10. javaScript高级教程(六) 获取窗口,屏幕,文档信息

    1.屏幕坐标:相对于桌面左上角 窗口坐标:相对于窗口的左上角 文档坐标:相对于html文档左上角 当有滚动条时,窗口坐标与文档坐标之间有区别