c++第十六天
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++第十六天的更多相关文章
- javaSE第二十六天
第二十六天 414 1:网络编程(理解) 414 (1)网络编程:用Java语言实现计算机间数据的信息传递和资源共享 414 (2)网络编程模型 414 (3)网络编程的三要素 ...
- javaSE第十六天
第十六天 140 1:List的子类(掌握) 140 (1)List的子类特点 140 (2)ArrayList 141 A:没有特有功能需要学习 141 B:案例 ...
- 第三百五十六天 how can I 坚持
一年了,三百五十六天.写个算法算下对不对. 今天突然想买辆自行车了.云马智行车,还是捷安特,好想买一辆. 网好卡.貌似少记了一天呢,357了.好快. 睡觉了,还没锻炼呢,太晚了. 1458748800 ...
- IT第二十六天 - Swing、上周总结
IT第二十六天 上午 Swing 1.对于方法的参数如果是int数值类型,应该直接调用该类中的常量属性,而不应该直接填入数字 2.Toolkit类中定义的方法是可以直接访问本地计算机(操作系统)信息的 ...
- Python第二十六天 python装饰器
Python第二十六天 python装饰器 装饰器Python 2.4 开始提供了装饰器( decorator ),装饰器作为修改函数的一种便捷方式,为工程师编写程序提供了便利性和灵活性装饰器本质上就 ...
- OCM_第十六天课程:Section7 —》GI 及 ASM 安装配置 _安装 GRID 软件/创建和管理 ASM 磁盘组/创建和管理 ASM 实例
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- 孤荷凌寒自学python第八十六天对selenium模块进行较详细的了解
孤荷凌寒自学python第八十六天对selenium模块进行较详细的了解 (今天由于文中所阐述的原因没有进行屏幕录屏,见谅) 为了能够使用selenium模块进行真正的操作,今天主要大范围搜索资料进行 ...
- 孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6
孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 不过由于对python-docx模 ...
- 孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5
孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5并学习权限设置 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十二天. 今天继续学习mongo ...
- 孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库
孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第二 ...
随机推荐
- Python面向对象之属性
属性的定义和调用 1,定义时,在普通方法的基础上添加@property装饰器 2,定义时,属性仅有一个self参数 3,调用时,无需括号 vim day7-8.py #!/usr/bin/python ...
- Python的Scikit-learn如何选择合适的机器学习算法?
参考网址:http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
- 关于matlab小记
目录: 1.函数取整 2.数据显示格式 3.三角函数运算 4.矩阵运算 5.函数句柄 6.二维函数图像绘制 7.符号对象 8.关于微积分 9.关于逻辑语句 10.关于运算符 ───────────── ...
- Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises)
A. Fraction 题目链接:http://codeforces.com/contest/854/problem/A 题目意思:给出一个数n,求两个数a+b=n,且a/b不可约分,如果存在多组满足 ...
- SVN里直接把本地目录纳入管理
如果本地有个已有的目录,要直接纳入SVN管理,怎么办呢?直接在Repository Browser里面 Add folder,但这样虽然把目录加到SVN,但本地目录没有纳入管理,你还要重新又下到本地才 ...
- java实现从服务端下载文件
这边用一个简单的servlet实现java从服务端下载文件的操作 写一个servlet: <servlet> <servlet-name>DownloadServlet< ...
- physics---hdu5826(积分)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5826 题意:有n个小球在一条直线上滚动,起始位置为xi, 方向为di(-1往左走,1往右走),初始速度 ...
- bin/hdfs namenode -format 格式化失败
确认配置正确前提下,将name目录删除重建,再格式化: hadoop防止将已经存在的集群格式化
- 【Python】【Web.py】详细解读Python的web.py框架下的application.py模块
详细解读Python的web.py框架下的application.py模块 这篇文章主要介绍了Python的web.py框架下的application.py模块,作者深入分析了web.py的源码, ...
- 【PHP】PHP初学者的学习线路
先来看下PHP初学者的学习线路: (1) 熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作简单的网页,对元素属性相对熟悉. (2) 理解动态语言的概念和运做机制,熟悉基本的PHP语法. ( ...