第11章泛型算法
1 泛型算法只在一点上隐式地依赖元素类型:必须能够对元素做比较运算。
2 泛型算法的明确要求如下:
1) 需要某种遍历集合的方式:能够从一个元素向前移到下一个元素。
2) 必须能够知道是否到达了集合的末尾。
3) 必须能够对容器中的每一个元素与被查找的元素进行比较。
4) 需要一个类型来指出元素在容器中的位置,或者表示找不到该元素。
3 算法不直接修改容器的大小,如果要添加或删除元素,则必须使用容器操作。
4 五种迭代器:
1) 输入迭代器
2) 输出迭代器
3) 前向迭代器
4) 双向迭代器
5) 随机访问迭代器
在处理算法时,最好将关联容器上的迭代器视为支持自减运算的输入迭代器,而不是完整的双向迭代器。
5 与对应的泛型算法不同,list容器特有的操作能添加和删除元素。例如remove unique