C++笔记 10.1 泛型算法概述

primer C++笔记

泛型算法概述

在这里插入图片描述

只读算法

在这里插入图片描述
在这里插入图片描述

back_inserter

*iter = 40 反复录入(push_back)
在这里插入图片描述
在这里插入图片描述
消除重复单词
在这里插入图片描述
使用unique
在这里插入图片描述

练习

在这里插入图片描述

bool divededByThree(int i)
{
	return i % 3 == 0;
}

void test01()
{
	std::vector<int> v{ 1, 2, 3, 4, 4, 3, 7, 8, 9, 10 };

	// 确定 std::vector 中有多少个整数匹配目标值。
	int val1 = 3;
	int val2 = 5;
	int num_val1 = std::count(v.begin(), v.end(), val1);
	int num_val2 = std::count(v.begin(), v.end(), val2);
	std::cout << "number: " << val1 << " count: " << num_val1 << '\n';
	std::cout << "number: " << val2 << " count: " << num_val2 << '\n';

	// 用lambda表达式计量能被 3 整除的元素数。
	int num_val3 = std::count_if(v.begin(), v.end(), [](int i) {return i % 3 == 0; });
	std::cout << "number divisible by three: " << num_val3 << '\n';
	// 用谓词计量能被 3 整除的元素数。
	int num_val4 = std::count_if(v.begin(), v.end(), divededByThree );
	std::cout << "number divisible by three: " << num_val4 << '\n';
}
void test02()
{
	vector<string> v{ "hello", "at", "as", "but", "at", "yes" };
	
	string val1 = "hello";
	string val2 = "at";
	int num_val1 = count(v.begin(), v.end(), val1);
	int num_val2 = count(v.begin(), v.end(), val2);
	std::cout << "string: " << val1 << " count: " << num_val1 << '\n';
	std::cout << "string: " << val2 << " count: " << num_val2 << '\n';
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值