2018.10.29——10.5泛型算法结构__10.6特定容器算法

10.38
①输入迭代器:用于比较俩个迭代器等或者不等,前置和后置递增(++)操作,
②输出迭代器
③前向迭代器
④双向迭代器
⑤随机访问迭代器
10.39
list的迭代器属于双向迭代器,vector的迭代器属于随机访问迭代器
10.40
copy要求前俩个参数至少是输入迭代器,表示一个输入范围。它读取这个范围里的元素,写入到第三个参数表示的输出序列中,因此第三个参数至少是输出迭代器。
reverse要反向处理序列,因此它要求俩个参数至少是双向迭代器
unique顺序扫描元素,覆盖重复元素,因此要求俩个参数至少是前向迭代器。
“至少”意味着能力更强的迭代器是可接受的
10.41
①把{beg,end)所有old_val替换为new_val
②把{beg,end)所有满足pred的old_val替换为new_val

10.42

#include <iostream>
#include <fstream>
#include <list>
#include <string>
#include <algorithm>

using namespace std;

void output_words(const list<string> &words)
{
	for(auto iter = words.begin(); iter != words.end(); ++iter)
		cout << *iter << " ";
	cout <<endl;
}

void elimdups(list<string> &words)
{
	output_words(words);
	words.sort();
	output_words(words);
	
	unique.words(words);
	output_words(words);
}

int main(int argc, char *argv[])
{
	string word;
	list<string> words;
	ifstream in(argv[1]);
	if (!in)
		cerr << "无法打开文件" << endl;
	
	while(in >> word0
		words.push_back(wordd);
	
	elimdups(words);
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值