C++学习笔记(二十三)遍历算法
2018-03-26 19:29
239 查看
vector<int> v;
for (int i = 0; i < 10; i++)
v.push_back(i+1); //把1-10插入容器vector中
// 遍历算法
// 第一个参数:要遍历的数据的起始位置
// 第二个参数:要遍历的数据的结束位置
// 第三个参数:函数对象,要对数据做些什么事情
// 运行过程:从开始到结束 一个一个取出元素,给第三个参数调用
for_each(v.begin(), v.end(), Show()); // 函数对象
cout << endl;
//for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
// s(*it);
for_each(v.begin(), v.end(), print);
// 普通函数
for_each(v.begin(), v.end(), printT<int>);
//for_each()有一个特殊性质就是它能返回其操作,即返回第三个操作的结果
// 函数和函数对象有什么区别,函数对象可以携带一些其他的属性
// 算法函数对象的传递是值传递,要想获取它的值,可以通过接收算法函数的返回值来获取
// 如果存在,返回找到的那个元素的迭代器
// 如果不存在,返回 end()
vector<int>::iterator it = find(v.begin(), v.end(), 6);
if (it != v.end())
cout << "找到元素: " << *it << endl;
else
cout << "没有找到元素" << endl;
// 查找大于3的数
// 有条件的查找、设置查找条件
// 返回第一个符合要求的元素的迭代器
it = find_if(v.begin(), v.end(), greater3);
if (it != v.end())
cout << "找到第一个大于3的元素: " << *it << endl;
else
cout << "没有找到元素" << endl;
// 查找能被3整除的数
it = find_if (v.begin(), v.end(), Div());
if (it != v.end())
cout << "找到第一个能被3整除的元素: " << *it << endl;
else
cout << "没有找到元素" << endl;
for (int i = 0; i < 10; i++)
v.push_back(i+1); //把1-10插入容器vector中
// 遍历算法
// 第一个参数:要遍历的数据的起始位置
// 第二个参数:要遍历的数据的结束位置
// 第三个参数:函数对象,要对数据做些什么事情
// 运行过程:从开始到结束 一个一个取出元素,给第三个参数调用
for_each(v.begin(), v.end(), Show()); // 函数对象
cout << endl;
//for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
// s(*it);
for_each(v.begin(), v.end(), print);
// 普通函数
for_each(v.begin(), v.end(), printT<int>);
//for_each()有一个特殊性质就是它能返回其操作,即返回第三个操作的结果
// 函数和函数对象有什么区别,函数对象可以携带一些其他的属性
// 算法函数对象的传递是值传递,要想获取它的值,可以通过接收算法函数的返回值来获取
// 如果存在,返回找到的那个元素的迭代器
// 如果不存在,返回 end()
vector<int>::iterator it = find(v.begin(), v.end(), 6);
if (it != v.end())
cout << "找到元素: " << *it << endl;
else
cout << "没有找到元素" << endl;
// 查找大于3的数
// 有条件的查找、设置查找条件
// 返回第一个符合要求的元素的迭代器
it = find_if(v.begin(), v.end(), greater3);
if (it != v.end())
cout << "找到第一个大于3的元素: " << *it << endl;
else
cout << "没有找到元素" << endl;
// 查找能被3整除的数
it = find_if (v.begin(), v.end(), Div());
if (it != v.end())
cout << "找到第一个能被3整除的元素: " << *it << endl;
else
cout << "没有找到元素" << endl;
v.push_back(a); |
} |
相关文章推荐
- Windows 8 学习笔记(二十三)--WritableBitmap的读写操作C++
- C++学习笔记二十三-嵌套类
- 【C++】学习笔记二十三——字符函数库cctype
- boolan——c++学习笔记之c++转换函数
- C++学习笔记---开题篇
- boolan——c++学习笔记之pointer-like classes
- Effective C++ 学习笔记(6)
- 设计模式C++学习笔记之六(Facade门面模式)
- Modern C++ Design 学习笔记之Policy Based Class Design
- 【C++学习笔记】特殊用途语言特性
- CMarkup: fast simple C++ XML parser 学习笔记
- Java学习笔记(二十三):将InputStream转成字符串和写入文件
- C++学习笔记
- C++ STL 学习笔记
- Geekband_C++面向对象高级编程_第五周学习笔记
- C++学习笔记2--容器学习
- C++学习笔记第一天:基础
- 【基于C++和Python的Opencv3学习笔记之图像载入、显示和保存】
- C++ STL学习笔记八 multiset多重集合容器
- C++ 学习笔记之一