11.2

来源:互联网 发布:mysql什么是事务实例 编辑:程序博客网 时间:2024/05/16 12:50
本节大意
较为详细的介绍了几种具体的算法

细节摘录
1. 使用算法记得包含头文件(主要有两种)
2. 使用插入迭代器记得加头文件名
3. 通常,参数迭代器要加上参数。


课后习题
1.
#include <iostream>#include <string>#include <vector>#include <algorithm>#include <numeric>using namespace std;int main(){vector<int> v;        v.push_back(1);      v.push_back(2);      v.push_back(3);      v.push_back(4);      v.push_back(5);      v.push_back(6);      v.push_back(3);      v.push_back(3);      v.push_back(6);      v.push_back(5);        cout << "测试的vector容器:" << endl;      for (vector<int>::iterator it=v.begin(); it!=v.end(); it++) {          cout << *it << " ";      }      cout << endl;  cout << "求和结果为:" << accumulate(v.begin(), v.end(), 0) << endl;return 0;}

2. 错了,最后的那个类型的参数是不匹配的。
3. 那么迭代器就会停止不动
4.
#include <iostream>#include <string>#include <vector>#include <iterator>using namespace std;int main(){vector<int> v;fill_n(back_inserter(v), 10, 0);for (vector<int>::iterator it=v.begin(); it!=v.end(); it++) {cout << *it << endl;}return 0;}

5. 这两段代码的错误之处均在于改变了容器结构却没有用插入迭代器。
6. 这个问题目前的理解是“改变容器大小的始终归结为back_inserter,而不是算法。
7. 略,已练习。
8. 不会
9. 为了使算法具有更强的通用性。
10. 原因同上。
原创粉丝点击