参考https://blog.csdn.net/misayaaaaa/article/details/58143138
习题10-41
算法的命名规范:_if 非重载,满足谓词条件的版本。_copy拷贝版本的算法
(a):遍历beg到end,找到oldVal就用newVal替换
(b):遍历beg到end,找到满足pred条件的就用newVal替换
(c):遍历beg到end,找到oldVal就用newVal替换,并将其拷贝至dest
(d):遍历beg到end,找到满足pred条件的就用newVal替换,并将其拷贝至dest
习题10-42
主要就是替换一下sort和unique函数,改为lst.sort()和lst.unique;
其实list.unique()与泛型unique 的实现方式有区别;
参见博客https://www.cnblogs.com/heyonggang/p/3243477.html
以及参考下面程序:(目前技术有限,不清楚具体情况。。。,list版本的好像兼具unique和erase两种泛型算法)
#include<iostream>
#include<vector>
#include<list>
#include<algorithm>
using namespace std;
int main(int argc, char**argv)
{
int a[10] = { 1,3,3,3,4,4,5,5,5,6 };
list<int> list1(a, a + 10);
list<int> list2(a, a + 10);
list1.sort();
list1.unique();
for (auto it1 = list1.begin(); it1 != list1.end(); ++it1)
cout << *it1 << " ";
unique(list2.begin(), list2.end());
cout << endl;
for (auto it1 = list2.begin(); it1 != list2.end(); ++it1)
cout << *it1 << " ";
}