C++学习笔记34:泛型编程拓展3
输入流迭代器
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
vector<int> v();
vector<int>::iterator it = v.begin();
cout << "enter four ints separated by space & a char:\n";
istream_iterator<int> head(cin), tail;
copy(head, tail, it);
cin.clear();
cout << "vector=";
for ( it = v.begin(); it != v.end(); it++)
{
cout << *it << " ";
}
cout << endl;
return ;
}
表:标准模板库中为双向链表
表的使用
- 定义包含Point对象的容器:list<Point> pts(8);
- 插入:pts.insert(pts.begin(),Point(1,2));
- 表头插入:pts.push_front(Point(1,2));
- 插入:pts.insert(pts.end(),Point(1,2));
- 表尾插入:pts.push_back(Point(1,2));
- 定义包含Point指针的容器:list<Point*>ppts(8);
- 插入:ppts.insert(ppts.begin(),new Point(1,2));
- 插入:ppts.insert(ppts.end(),new Point(1,2));
- 删除:delete ppts.front();ppts.remove(ppts.front());
- 判断表是否为空:if(pts.empty()) cout << "Empty!";
表与迭代器
迭代器可以和表协同工作,方式与向量相同
list<int> a(8);
list<int>::iterator it;
for( it = a.begin();it != a.end();it++)
*it = GenerateRandomNumber(10,99);
表排序
- 直接使用表的成员函数:a.sort();//默认升序
- 降序:reverse()
- 降序:(传入函子)greater_equal<int>()
- a.sort(greater_equal<int>());
- 对于自定义对象,需要重载operator <以进行比较
标准算法
调用标准模板库的函数
标准函子
算术函子
plus<T>
minus<T>
multiplies<T>
divides<T>
modulus<T>
negate<T>
关系函子
equal_to<T>
not_equal_to<T>
greator<T>
greator_equal<T>
less<T>
less_equal<T>
逻辑函子
logical_and<T>
logical_or<T>
logical_not<T>
C++学习笔记34:泛型编程拓展3的更多相关文章
- C++学习笔记33:泛型编程拓展2
调用标准模板库的find()函数查找数组元素 例子: #include <iostream> #include <algorithm> using namespace std; ...
- C++学习笔记32:泛型编程拓展1
标准模板库的内容 标准模板类:复数.序偶 迭代器 标准容器:向量,表,栈,队列,集合,映射等 标准算法:查找,排序等 标准模板库型式的使用方法 "<>":模板名称< ...
- [原创]java WEB学习笔记34:Session 案例 之 解决表单重复提交
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Linux下汇编语言学习笔记34 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- 量化投资学习笔记34——《Python机器学习应用》课程笔记08
岭回归 解决某些训练样本线性相关,导致回归结果不稳定的情况. 它是一种用于共线性数据分析的有偏估计回归方法.是一种改良的最小二乘估计法. 在sklearn中使用sklearn.linear_model ...
- C++学习笔记26:泛型编程概念
一.什么是泛型编程? 泛型就是通用的型式 编写不依赖数据对象型式的代码就是泛型编程 二.为什么需要泛型编程? 函数重载,相似类定义与型式兼容性 例如:设计函数,求两个数据对象的较小值 //未明确规定参 ...
- IOS学习笔记34—EGOTableViewPullRefresh实现下拉刷新
移动应用开发中有这么一种场景,就是在列表中显示的数据刷新,有点击刷新按钮刷新的,也有现在最流行的由Twitter首先推出的下拉刷新功能,在IOS中,使用下拉刷新更新UITableView中的数据也用的 ...
- Android(java)学习笔记34:Android原理揭秘系列之View、ViewGroup
1. 作过Android 应用开发的朋友都知道,Android的UI界面都是由View和ViewGroup及其派生类组合而成的.其中,View是所有UI组件的基类,而ViewGroup是容纳这些组件的 ...
- C语言实例解析精粹学习笔记——34(用“结构”统计学生成绩)
实例34: 设学生信息包括学号.姓名和五门功课的成绩,要求编写输入输出学生信息的函数.在输入学生信息后,以学生成绩的总分从高到低顺序输出学生信息. 思路: 程序引入一个结构数组依次存储输入的学生信息, ...
随机推荐
- CodeForces #362 div2 B. Barnicle
题目链接: B. Barnicle 题意:给出科学计数法 转化成十进制的整数或小数 并输出. 思路:暑假训练赛见过了,当时大腿A掉了,并表示是道水题. 刷CF再次遇见,毫不留情WA了几次.比如: 0. ...
- Maven的配置
- Adb refused a command 解决方法
原文:How To Fix Android Error Adb Refused A Command 地址:http://downloadfixit.com/android-error-adb-refu ...
- 基于C#在WPF中使用斑马打印机进行打印【转】
原文链接:http://ju.outofmemory.cn/entry/132476 最近在项目中接手了一个比较有挑战性的模块——用斑马打印机将需要打印的内容打印出来.苦苦折腾了两天,总算有所收获,就 ...
- 高性能Web服务器Nginx的配置与部署研究系列(1)-- 入门 hello work
简介: Nginx 是一个基于 BSD-like 协议.开源.高性能.轻量级的HTTP服务器.反向代理服务器以及电子邮件(SMTP.POP3.IMAP)服务器.Nginx 是由一个俄罗斯的名叫“Igo ...
- 【 2013 Multi-University Training Contest 8 】
HDU 4678 Mine 对于每个空白区域,求SG值. 最后异或起来等于0,先手必败. #pragma comment(linker,"/STACK:102400000,102400000 ...
- 【 2013 Multi-University Training Contest 5 】
HDU 4647 Another Graph Game 如果没有边的作用,显然轮流拿当前的最大值即可. 加上边的作用,将边权平均分给两个点,如果一个人选走一条边的两个点,就获得了边的权值:如果分别被两 ...
- StormNimbus集群保证CAP流程
Nimbus启动时,检查当前本地是不是有所有的topology的代码,同时去申请获取leader锁,如果某台nimbus节点成为了集群的leader,会再去检查一次当前本地的代码是不是包含所有活动状态 ...
- Hibernate2
计应134(实验班) 杨伟 Hibernate 中提供了两级Cache(高速缓冲存储器),第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存.这一级别的缓存由hibernate管理的,一 ...
- 作业七:团队项目——Alpha版本冲刺阶段010
今日安排:组内成员讨论 今日进程:组内成员讨论结束,并有明确的解决办法,每个人准备实践